
Android 的UI 可以分为两类,一类叫做ViewGroup容器,一类叫做View视图
View视图:(TextView,Button,ImageView)都是常用常见的视图
ViewGroup容器:内部可以承载、放置、添加View视图
线性布局就是 从左到右 或 从上到下 按 顺序排列 的一种布局。下面讲一讲LinearLayout的基础属性。
相对布局在摆放子视图位置时,按照 指定的参考系 来摆放子视图的位置, 默认以屏幕左上角(0,0)位置 作为 参考系 摆放位置
使用layout_below使得后面一个组件位于前面一个组件的下方
配合layout_toRightOf使得后面一个组件位于前面一个组件的右方
组件的默认位置都是左上角,组件之间可以重叠。像千层饼一样,一层压着一层 可以设置上下左右的对齐、水平垂直居中、设置方式与线性布局相似
参考: 2021Android从零入门到实战(Kotlin版)
菜单
菜单是UI设计中经常使用的组件,提供了不同功能分组展示的能力,在人机交互中提供了人性化的 *** 作。
Android中菜单分为两种类型:
选项菜单(Option Menu)
上下文菜单(Context Menu)
选项菜单
创建选项菜单的3个步骤:
重写Activity的onCreateOptionsMenu()方法,当第一次打开菜单时该方法被自动调用。
调用Menu的add()方法添加菜单项(MenuItem)
当菜单项被选择时,重写Activity的onOptionsItemSelected()方法来响应事件。
上下文菜单
上下文菜单的创建步骤:
覆盖Activity的onCreateContextMenu()方法,调用Menu的add()方法添加菜单项(MenuItem)。
覆盖onContextItemSelected()方法,响应菜单单击事件。
在Activity的onCreate()方法中,调用registerForContextMenu()方法,为视图注册上下文菜单。
长按控件
d出式菜单(popupMenu)
d出式菜单的创建步骤:
在res下创建menu文件夹,创建pop_menuxml。
创建new PopupMenu(context,btn)。
调用getMenuInflaterinflater(Rmenupop_menu,popgetMenu())。
调用popmenushow()
在res下穿件menu文件夹,
创建pop_menuxml
ActionBar
一、显示和隐藏
(1)获取ActionBar
ActionBar actionBar = getSupportActionBar();
(2)判断是否显示
actionBarisShowing()
(3)隐藏
actionBarhide();
(4)显示
actionBarshow();
二、添加图标
1always:总是显示在界面上
2never:不显示在界面上,只让出现在右边的三个点中
3ifRoom:如果有位置才显示,不然就出现在右边的三个点中
(1)res/menu创建menu_actionxml
(2)重写onCreateOptionsMenu
(3)重写onOptionsItemSelected
三、添加返回键
(1)onCreate方法添加
actionBarsetDisplayHomeAsUpEnabled(true);
(2)onOptionsItemSelected添加case
case androidRidhome:
finish();
RecyclerView
1、添加依赖
implementation 'androidxrecyclerview:recyclerview:110'
2、初始化数据
for (int i= 0;i<20;i++){
listadd("标题"+i);
}
3、获取组建
recycleview = findViewById(Ridrecycleview);
4、设置方向
//第一个参数:Context
//第二个参数:方向 RecyclerViewHORIZONTAL || VERTICAL
//第三个参数:是否倒叙false
LinearLayoutManager manager =
new LinearLayoutManager
(RecyclerActivitythis,RecyclerViewHORIZONTAL,false);
recycleviewsetLayoutManager(manager);
5、新建一个类MyRecyclerAdapter
在类里创建静态方法MyViewHolder 继承 RecyclerViewViewHolder
6、MyRecyclerAdapter 继承
RecyclerViewAdapter
7、创建构造方法
8、实现里边的方法
public MyViewHolder onCreateViewHolder
9、实现里边的方法
MyViewHolder 获取组建
10、实现里边的方法
public void onBindViewHolder
public int getItemCount
11、Activity里创建MyRecyclerAdapter,并设置
MyRecyclerAdapter adapter = new MyRecyclerAdapter(this,list);
recycleviewsetAdapter(adapter);
12、MyRecyclerAdapter 创建接口 OnMyChildClick
并且声明
并且提供设置接口的方法
13、RecyclerActivity的页面实现接口OnMyChildClick,重写里边的方法
14、RecyclerActivity的页面设置完适配器,设置OnMyChildClick
15、MyRecyclerAdapter
onAttachedToRecyclerView 方法
获取到recyclerView
16、MyRecyclerAdapter
public MyViewHolder onCreateViewHolder 方法
获取到view后设置点击事件
定义一个 ImageView的对象,这些xml的标签其实都是这个对象的属性或者函数,(好像函数很少,,),比如这个对象叫 av(哈哈)。那么,avXX= xx; 就是直接给对象的属性赋值。对象搞定
了,就来搞搞布局吧,FrameLayout这个布局很好,同样,定义这个布局的对象,addview(av);差不多就行了,我没试过,,,你试试吧
有的程序的文件夹是自动建立在sd卡上的,有的程序是没有文件夹的,程序位于date/app文件夹内,而系统的程序位于system/app文件夹内。
软件安装完成后,就会在date/app目录出现一个apk文件。
这个文件相当于windows下exe安装完成后在c盘生成的安装文件夹里的一样,只不过安卓环境下只是一个apk文件(有的还另外会在sd卡自动建立一个用于该程序存放数据的文件夹)
而windows环境下是一个包含有exe启动文件的文件夹,你不能把apk从那个目录删除,就像你把c盘的某个安装路径文件夹里的exe文件删除一样,你就不能启动该程序了,另外,system/app里放的是系统自带的程序,就像是windows自带的office程序类似。
注意apk文件总是相当于电脑里的setup安装文件,所以你不能把apk文件再在date/app里打开,因为它已经安装完毕了,所以提示是否替换。
扩展资料:
安装帮助
一错误解决
1提示:文件受损
说明:安装程序文件被破坏或者不完整有可能是在程序下载或者解压缩时引起的文件破坏
解决:请确定下载的程序文件完整性网络不好也会损坏下载文件,建议再次下载或解压缩程序再试
2提示:无任何提示,运行无反映
说明:一般是中文文件名的JAR程序出现这种情况
解决:删除掉已经安装的JAR程序,将JAR程序文件名改为全英文之后再试
3提示:手机启动失败,请与零售商联系
说明:一般是某个程序安装失败后重启手机时出现这个提示,也有部分是升级机器时失败导致
解决:如果是某个程序安装失败,那么只需要将存储卡拿出来,然后再次启动机器并将安装错误的程序删除掉即可如果是手机升级后出现,那么就只有重新格机了需要注意的是:一些开机启动并常驻内存的软件是无法通过格式化解决的所以,软格前先需要把这些软件全部关闭或删除
4问题:jar程序安装打不开
说明:特别注意,JAR程序下载后不能改中文名再安装,否则会打不开,只能起英文名和数字!
解决:删除已安装程序,再把安装包重命名为英文或数字重新安装
5问题:打开程序时提示运存或储存空间不足!
说明:正在运行的程序太多或开机太久
解决:可以关闭一些程序或重起手机再打开程序,或查看手机储存是否太小,可以移动一些自己的文件到卡里增加手机空间!
6问题:下载程序分辨率不合适该屏幕
说明:1资源分类出错
2资源本身支持问题
解决:重新设置机型下载
7问题:在运行中提示出错
说明:1资源本身的BUG
2手机平台支持问题
3运行内存不足
解决:可以找一个高版本或重新开机再试试
参考资料:
android 中有绝对布局组件 AbsoluteLayout 可以让子元素指定准确的x,y坐标值,并显示在屏幕上。
这样你得知道屏幕的值
<xml version="10" encoding="utf-8">
<AbsoluteLayout xmlns:android=">
有2种方法可以设置TextView文字居中:\x0d\一:在xml文件设置:android:gravity="center"\x0d\二:在程序中设置:m_TxtTitlesetGravity(GravityCENTER);\x0d\\x0d\备注:android:gravity和android:layout_gravity的区别在于前者对控件内部 *** 作,后者是对整个控件 *** 作。\x0d\例如:\x0d\android:gravity="center"是对textView中文字居中\x0d\android:layout_gravity="center"是对textview控件在整个布局中居中\x0d\其实很容易理解,出现"layout"就是控件对整个布局的 *** 作\x0d\\x0d\TextView文字垂直靠左居中,\x0d\\x0d\设置android:gravity="center_vertical|left"。\x0d\\x0d\android:gravity="center", 垂直水平居中\x0d\LinearLayout有两个非常相似的属性:android:gravity与android:layout_gravity。他们的区别在于:android:gravity用于设置View组件的对齐方式,而android:layout_gravity用于设置Container组件的对齐方式。\x0d\举个例子,我们可以通过设置android:gravity="center"来让EditText中的文字在EditText组件中居中显示;同时我们设置EditText的android:layout_gravity="right"来让EditText组件在LinearLayout中居中显示。\x0d\
以上就是关于【Android】UI(二)Android常用的基础布局容器全部的内容,包括:【Android】UI(二)Android常用的基础布局容器、第二章:Android组件讲解-5、安卓编程FrameLayout中怎么动态控制组件的位置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)