1.1 Android 应用的 UI 组件
1.视图(View) :相当于窗户玻璃。
视图组(ViewGroup):相当于窗户框架。
ViewGroup 类是 View 类的子类,ViewGroup类是一个抽象类,我们在开发中通常使用其子类:
①:ViewGroup.LayoutParams类(注意s) ②ViewGroup.MarginLayoutParams类
2.一个活动 activity 就是一个单独的窗口,view类位于android.view包,其子类位于android.widget包。
视图和视图组的层次关系:
1.2 如何设计 UI 界面?
1.3 安卓提供布局类型
1.相对布局(RelativeLayout) :使视图相对于其相邻视图或父视图定位,如图:
相对布局布局属性:
代码示例:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" .... > <!-- 相对布局 RelativeLayout... --> <!-- Alt+?:这是ADT里的快捷提示,比如输入id/la等就会自动联想 --> <!-- Button类型,不是纯文本类型,需要自己更改 --> <!-- 每个组件的id值是唯一的,不可以重名,会在R文件中有显示的分配内存地址 --> <!-- +:如果在R文件中没有给这个id分配地址的话,将自动分配地址,若有对应的id分配地址,则不分配 --> <!-- 关于R文件未显示对应组件名的地址分配的话,尝试保存,就会自动更新有提示了 --> <!-- wrap_content:表示和自身一样的长度。 match_parent:表示和父组件一样的长度。 --> <!-- centerInParent:确定组件在父组件中的位置-水平,垂直居中 --> <!-- 不能在组件里添加提示,会导致命令失败 --> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="Button1" /> <!-- layout_above:该组件全部位于对应名字的组件的上方--> <!-- layout_alignLeft:和对应名字的组件左边对齐 --> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@id/button1" android:layout_alignLeft="@id/button1" android:text="Button2" /> <!-- layout_toRightOf:连接在对应名字的组件的右边界上 --> <!-- layout_alignTop:和对应名字的组件上边对齐 --> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/button1" android:layout_alignTop="@id/button1" android:text="Button3" /> ......
总结:
2.线性布局(LinearLayout) :
线性布局管理器的特点(垂直布局管理器为例) :①每一行只能放置一个组件,并且这个组件不会换行
②当一个组件一个组件排到窗体的边缘,后边的组件不被显示
属性:
代码示例:
3.框架(帧)布局(FrameLayout)
4.表格布局(TableLayout)
5.绝对布局 (AbsoluteLayout)(已经不再使用)
6.网格布局(GridLayout)
来源:CSDN
作者:Lyrelion
链接:https://blog.csdn.net/Lyrelion/article/details/104515123