Android六大布局管理器属性详解

View类支持的常用XML属性及对应的方法

XML属性方法描述
android:backgroundsetBackgroundResource(int)设置背景,其属性值为Drawable资源或者颜色值
android:clickablesetClickable(boolean)设置是否响应单击事件,其属性值为boolean型的true或false
android:elevationsetElevation(float)Android API21新添加的,用于设置z轴深度,其属性值为带单位的有效浮点数
android:focusablesetFocusable(boolean)设置是否可以获取焦点,其属性值为boolean型的true或者false
android:idsetId(int)设置组件的唯一标识符 ID,可以通过findViewById方法获取
android:longClickablesetLongClickable(boolean)设置是否响应长单击事件,其属性值为boolean型的true或者false
android:minHeightsetMinimumHeight(int)设置最小高度,其属性值为带单位的整数
android:minWidthsetMinimunWidth(int)设置最小宽度,其属性值为带单位的整数
android:onClick设置单击事件触发的方法
android:paddingsetPaddingRelative(int,int,int,int)设置4个边的内边距
android:paddingBottomsetPaddingRelative(int,int,int,int)设置底边的内边距
android:paddingEndsetPaddingRelative(int,int,int,int)设置右边的内边距
android:paddingLeftsetPadding(int,int,int,int)设置左边的内边距
android:paddingRightsetPadding(int,int,int,int)设置右边的内边距
android:paddingStartsetPaddingRelative(int,int,int,int)设置左边的内边距
android:paddingTopsetPaddingRelative(int,int,int,int)设置顶边的内边距
android:visibilitysetVisibility(int)设置View的可见性

ViewGroup.MarginLayoutParams类支持的常用XML属性

XML属性描述
android:layout_marginBottom设置底外边距
android:layout_marginEnd该属性为Android 4.2新增加的属性,用于设置右外边距
android:layout marginLeft设置左外边距
android:layout marginRight设置右外边距
android:layout marginStart该属性为Android 4.2新增加的属性,用于设置左外边距
android:layout marginTop设置顶外边距
相对布局管理器RelativeLayout
线性布局管理器LinearLayout
帧布局管理器FrameLayout
表格布局管理器TableLayout
网格布局管理器GridLayout
约束布局管理器ConstraintLayout
绝对布局管理器(Android2.0被标记过期)AbsoluteLayout

布局的通用属性

XML属性描述
android:id设置布局的标识
android:layout_width设置布局的宽度
android:layout_height设置布局的高度
android:background设置布局的背景
android:layout_margin设置当前布局与屏幕边缘或与周围控件的距离
android:padding设置当前布局与该布局中控件的距离

RelativeLayout(相对布局)支持的常用XML属性

XML属性描述
android:gravity用于设置布局管理器中各子组件的对齐方式
android:ignoreGravity用于指定哪个组件不受gravity属性的影响
android:layout_above其属性值为其他UI组件的id属性,用于指定该组件位于哪个组件的上方
android:layout_alignBottom其属性值为其他UI组件的id属性,用于指定该组件与哪个组件的下边界对齐
android:layout_alignLeft其属性值为其他UI组件的id属性,用于指定该组件与哪个组件的坐边界对齐
androidlayout_alignParentBottom其属性值为boolean值,用于指定该组件是否与布局管理器底端对齐
android:layout_alignParentLeft其属性值为boolean值,用于指定该组件是否与布局管理器左边对齐
android:layout_alignParentRight其属性值为boolean值,用于指定该组件是否与布局管理器右边对齐
android:layout_alignParentTop其属性值为boolean值,用于指定该组件是否与布局管理器顶端对齐
android:layout_alignRight其属性值为其他UI组件的id属性,用于指定该组件与哪个组件的右边界对齐
android:layout_alignTop其属性值为其他UI组件的id属性,用于指定该组件与哪个组件的上边界对齐
android:layout_below其属性值为其他UI组件的id属性,用于指定该组件位于哪个组件的下方
android:layout_centerHorizontal其属性值为boolean值,用于指定该组件是否位于布局管理器水平居中的位置
android:layout_centerInParent其属性值为boolean值,用于指定该组件是否位于布局管理器的中央位置
android:layout_centerVertical其属性值为boolean值,用于指定该组件是否位于布局管理器垂直居中的位置
android:layout_toLeftOf其属性值为其他UI组件的id属性,用于指定该组件位于哪个组件的左侧
android:layout_toRightOf其属性值为其他UI组件的id属性,用于指定该组件位于哪个组件的右侧

LinearLayout(线性布局)支持的常用XML属性

XML属性描述
android:orientation用于设置布局管理器内组件的排列方式,其可选值为horizontal和vertical,默认值为vertical。其中,horizontal 表示水平排列,vertical 表示垂直排列
android:gravityandroid:gravity属性用于设置布局管理器内组件的显示位置,其可选值包括top,bottom,left,right,center_vertical,fill_vertical, center_horizontal,fill_horizontal,center,fill,clip_vertical和clip_horizontal. 这些属性值也可以同时指定,各属性值之间用竖线隔开( 竖线前后不能有空格)。例如要指定组件靠右下角对齐,可以使用属性值right
android:layout_width用于设置该组件的基本宽度,其可选值有fill_parent,match_parent 和wrap_content, 其中fill_parent表示该组件的宽度与父容器的宽度相同;match_parent与fill_parent 的作用完全相同,从Android 2.2开始推荐使用;wrap_content表示该组件的宽度恰好能包裹它的内容
android:layout_height用于设置该组件的基本高度,其可选值有fill_parent,match_parent 和wrap_content,其中fill_parent 表示该组件的高度与父容器的高度相同;match_parent 与fill_parent 的作用完全相同,从Android 2.2 开始推荐使用:wrap_content 表示该组件的高度恰好能包裹它的内容
android:id用于为当前组件指定一个id属性,在Java代码中可以应用该属性单独引用这个组件。为组件指定id 属性后,在R.java文件中,会自动派生一个对应的属性,在Java代码中,可以通过findViewById()方法来获取它
android:background用于为该组件设置背景,可以是背景图片,也可以是背景颜色,为组件指定背景图片时可以将准备好的背景图片复制到drawable目录下,然后使用下面的代码进行设置android:background=”@drawable/background”如果想指定背景颜色,可以使用颜色值,例如,要向指定背景颜色为白色,可以使用下面的代码android:backround=”#FFFFFFFF”

LinearLayout(线性布局)子组件的常用XML属性

XML属性描述
android:layout_gravity用于设置组件在其父容器中的位置。它的属性值与android:gravity 属性相同,也是top,bottom,left,right,center_vertical,fill_vertical, center_horizontal,fill_horizontal,center,fill,clip_vertical 和clip_ horizontal。这些属性值也可以同时指定,各属性值之间用竖线隔开,但竖线前后一定不能有空格
android:layout_weight用于设置组件所占的权重,即用于设置组件占父容器剩余空间的比例。该属性的默认值为0,表示需要显示多大的视图就占据多大的屏幕空间。当设置一个高于零的值时,则将父容器的剩余空间分割,分割的大小取决于每个组件的layout_weight 属性值。例如,在一个320*480的屏幕中,放置一个水平的线性布局管理器,并且在该布局管理器中放置两个组件,并且这两个组件的android:layout_weight 属性值都设置为1,那么,每个组件将分配到父容器的1/2的剩余空间。

FrameLayout(帧布局)支持的常用XML属性

XML属性描述
android:foreground设置该帧布局容器的前景图像
android:foregroundGravity定义绘制前景图像的gravity属性,即前景图像显示的位置

TableLayout(表格布局)支持的XML属性

XML属性描述
android:collapseColumns设置需要被隐藏的列的序列号(序号从0开始),多个序列号之间用逗号分隔
android:shrinkColumns设置允许被收缩的列的序列号(序号从0开始),多个序列号之间用逗号分隔
android:stretchColumns设置允许被拉伸的列的序列号(序号从0开始),多个序列号之间用逗号分隔
布局中空间的常见属性
android:layout_columns设置该控件显示的位置
android:layout_span设置该控件占据几行,默认为1行

GridLayout(网格布局)支持的常用XML属性

XML属性描述
android:columnCount用于指定网格的最大列数
android:orientation用于没有为放入其中的组件分配行和列时,指定其排列方式。其属性值为horizontal表示水平排列;为vertical表示垂直排列
android:rowCount用于指定网格的最大行数
android:useDefaultMargins用于指定是否使用默认的边距,其属性值设置为true时,表示使用:为false时,表示不使用
android:alignmentMode用于指定该布局管理器采用的对齐模式。其属性值为alignBounds时,表示对齐边界;值为alignMargins时,表示对齐边距,默认值为alignMargins
android:rowOrderPreserved用于设置行边界显示的顺序和行索引的顺序是否相同。其属性值为true 表示相同,为false表示不相同
android:columnOrderPreserved用于设置列边界显示的顺序和列索引的顺序是否相同。其属性值为true 表示相同,为false表示不相同

GirdLayout.Layoutparams支持的常用XML属性

XML属性描述
android:layout_column用于指定该子组件位置网格的第几列
android:layout_columnSpan用于指定该子组件横向跨几列(索引从0开始)
android:layout_columnWeight用于指定该子组件在水平方向上的权重,即该组件分配水平剩余空间的比例
android:layout_gravity用于指定该子组件采用什么方式占据该网格的空间,其可选值有:top(放置在顶部),bottom(放置在底部),left(放置在左侧),right(放置在右侧) center_vertical (垂直居中),fill_vertical(垂直填满),center horizontal(水平居中),fill_horizontal(水平填满),center (放置在中间),fill (填满),clip_vertical(垂直剪切),clip_horizontal (水平剪切),start(放置在开始位置),end (放置在结束位置)
android:layout_row用于指定该子组件位于网格的第几行(索引从0开始)
android:layout_rowSpan用于指定该子组件纵向跨几行
android:layout_rowWeight用于指定该子组件在垂直方向上的权重,即该组件分配垂直剩余空间的比例

ConstraintLayout(约束布局)

XML属性描述
layout_constraintLeft_toLeftOf控件的左边与另外一个控件的左边对齐
layout_constraintLeft_toRightOf控件的左边与另外一个控件的右边对齐
layout_constraintRight_toLeftOf控件的右边与另外一个控件的左边对齐
layout_constraintRight_toRightOf控件的右边与另外一一个控件的右边对齐
layout_constraintTop_toTopOf控件的上边与另外一个控件的上边对齐
layout_constraintTop_toBottomOf控件的上边与另外一个控件的底部对齐
layout_constraintBaseline_ toBaselineOf控件间的文本内容基准线对齐
layout_constraintStart_toEndOf控件的起始边与另外一个控件的尾部对齐
layout_constraintStart_toStartOf控件的起始边与另外一个控件的起始边对齐
layout_constraintEnd_toStartOf控件的尾部与另外一个控件的起始边对齐
layout_constraintEnd_toEndOf控件的尾部与另外一个控件的尾部对齐
倾向的属性
layout_constraintHorizontal_bias横向的倾斜
layout_constraintVertical_bias纵向的倾斜
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值