- 基本属性
android:id — 为控件指定相应的ID
android:text — 指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符串
android:grivity — 指定控件的基本位置,比如说居中,居右等位置这里指的是控件中的文本位置并不是控件本身。
android:textSize — 指定控件当中字体的大小
android:background — 指定该控件所使用的背景色,RGB命名法
android:width — 指定控件的宽度
android:height — 指定控件的高度
android:padding* — 指定控件的内边距,也就是说控件当中的内容
android:sigleLine — 如果设置为真的话,则控件的内容在同一行中进行显示
- LinearLayout (线性布局):很常用,就是像线状一样,(1)横着排一列,排满换下一行;(2)竖直排,而且一行只有一个。
android:orientation 属性指定了排列方向是 vertical,如果指定的是horizontal,控件就会在水平方向上排列了。
android:gravity 是用于指定文字在控件中的对齐方式
android:layout_gravity 是用于指定控件在布局中的对齐方式;里面可以写多个例如:bottom|center_horizontal;底部 + 水平居中。
android:layout_weight=”1”(权重分布),这个weight在垂直布局时,代表行距;水平的时候代表列宽;weight值越大就越大。
android:visibility=invisible控制布局是否显示 :1、显示 visible 2、不显示,但占空间 invisible 3、隐藏 gone
android:layout_margin系列,用于控制控件在当前位置上距离边缘的距离,有layout_marginLeft、marginBottom、marginRight、marginTop、marginEnd、marginStart。
- RelativeLayout(相对布局):按照位置来计算,可以选择与父布局的相对位置,也可以是与 某个控件的相对位置。
(1)android:layout_margin系列,里面填写10dp、10px等等
(2)这些用true和false决定
android:layout_centerHrizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInparent 相对于父元素完全居中
android:layout_alignParentBottom 贴紧父元素的下边缘
android:layout_alignParentLeft 贴紧父元素的左边缘
android:layout_alignParentRight 贴紧父元素的右边缘
android:layout_alignParentTop 贴紧父元素的上边缘
(3)这些括号里面用 @id/id-name 决定在哪些控件的哪个位置
android:layout_below 在某元素的下方
android:layout_above 在某元素的的上方
android:layout_toLeftOf 在某元素的左边
android:layout_toRightOf 在某元素的右边
android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐
android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐
android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐
android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐
- FrameLayout(帧布局):最简单的一个布局对象。它里面只显示一个显示对象。所有的显示对象都将会固定在屏幕的左上角,不能指定位置,但后一个将会直接在前 一个之上进行覆盖显示,这个不太常用。
TableLayout(表格布局):像表格一样的布局,每个控件在其内部的排列方式就像是在表格里排列一样,但是表格的边框线不可见。
android:stretchColumns 设置可伸展的列。为了填满剩下的多余空间,如有多个需要伸展,则用逗号隔开。
android:shrinkColumns 设置可收缩的列。如果可伸缩的列内容过多,设置上此后,则不会被挤出去。
android:collapseColumns 设置要隐藏的列,如果有多个要隐藏,请用逗号隔开。
示例:
android:stretchColumns=”2” 第2列可伸展
android:shrinkColumns=”1,2” 第1,2列皆可收缩
android:collapseColumns=”1” 隐藏第1行
- AbsoluteLayout(绝对布局):用的特别少。
- GridLayout (网格布局):使用虚细线将布局划分为行、列和单元格,也支持一个控件在行、列上都有交错排列。