【android】布局管理器

android组件的层次结构

【android】布局管理器

视图组件View:在屏幕上占据一块矩形区域,View负责渲染这块矩形区域

视图组件ViewGroup:View的容器,ViewGroup可以嵌套使用

Activity:显示给用户的窗口或屏幕

界面布局:用户界面结构的描述。声明android程序额界面布局有两种方法:
使用xml文件描述界面布局(将程序的表示层和控制层分离)
在程序运行时动态添加或修改界面布局

布局组件Layout:ViewGroup是抽象类,也是其他容器类的基类,android提供其实现类:
线性布局LinearLayout
框架布局FrameLayout
相对布局RelationLayout
表格布局TableLayout
绝对布局AbsoluteLayout
容器布局containerLayout
布局管理器在xml中一标签的形式出现,并需要为这些标签设置一个android的命名空间
xmlns:android=http://schemas.android.com/apk/res/android

一、线性布局
1、layout_weight:默认值为0,表示按照weight或containers实际大小来显示,高于0值,则将container剩余可用空间分割,分割大小具体取决于该权值在container的比例

2、线性布局一般嵌套使用,外层用纵向布局(android:orientation=“vertical”)内层用横向布局(android:orientation=“horizontal”)
3、
android:gravity 设置view本身的内容应该显示在view的什么位置
android:layout_gravity 设置该元素下父元素的位置(例如文字在整个view中的位置)
【android】布局管理器

二、表格布局
1、表格布局:将屏幕划分网格,通过指定行和列可以将界面元素添加的网格中
2、网格的边界对用户不可见
3、支持嵌套使用
4、一个表格布局有若干个标签组成,从0行开始
5、android:shrinkColumns="x"设置可以收缩的列号,x为列号
android:stretchColumns="x"设置可以伸展的列号,x为列号
android:collapseColumns="x"设置列隐藏,x为*号为全部列
【android】布局管理器

三、相对布局
1、通过指定界面元素与其他元素的相对位置关系,确定界面中所有元素的布局位置
2、设置好组件id,其他组件引用
3、两个组件之间的布局属性:
【android】布局管理器
4、父空间之间布局的属性
【android】布局管理器

【android】布局管理器
四、框架布局(帧布局)
1、所有组件都放在屏幕的左上角,而且所有组件层叠显示
2、相关属性
【android】布局管理器
五、绝对布局(坐标布局)
1、简单直接,直观性强,但设备适应性比较差,不建议使用
2、
android:layout_x:指定该子组件的x坐标
android:layout_y:指定该子组件的y坐标
3、使用:指明子元素确切的屏幕(x,y)坐标
(0,0)是左上角,下移或右移,坐标值增加
允许元素叠加

六、容器布局(containerLayout)
【android】布局管理器
1、相对定位的改进,对组件的位置进行约束,在不同的设备显示适用性强

2、可以手动添加约束,即将组件四个角拖拉到屏幕边界或其他组件,一般两个角就可以确定位置,或者按魔法棒(红圈圈)智能约束

3、可以设置辅助线guideline,运行后不可见,在设计界面时,可以给屏幕里的组件分配占比
【android】布局管理器

——————————
写的都是我做各个布局例子后的总结
若有错误,欢迎指出