| android:layout_weight |
权重属性。在一般开发中主要用于适配多种屏幕
按照给定的比例分配当前父容器的剩余空间。
在LinearLayout为横向时,影响的是组件的宽度属性
在LinearLayout为纵向时,影响的是组件的高度属性
一般会将影响的宽度或高度属性设置为0dp,平均分配屏幕
|
|
android:layout_gravity
线性布局内部组件设置的在布局中的对齐方式
(布局内部组件)
|
子UI组件在LinearLayout中的对其方式 top,bottom,left,right,center,center_vertical,center_horizontal 在LinearLayout为横向时,垂直方向的对其功能有效 在LinearLayout为纵向时,水平方向的对其功能有效 |
|
android:gravity
(组件内部的对其方式)
|
布局或组件内部内容的对其方式 top,bottom,left,right,center,center_vertical,center_horizontal |
|
android:layout_margin
|
一个组件与相邻组件的距离
top,bottom,left,right
|
|
android:layout_padding
|
组件内部内容与组件边界的距离 top,bottom,left,right |
|
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
|
与相对布局的对其方式
有四个方向
|
|
android:layout_alignBottom="@+id/button1"
android:layout_alignTop="@+id/button1"
android:layout_alignLeft="@+id/button1"
android:layout_alignRight="@+id/button1"
|
与button1组件的对其方式 有四个方向 |
|
android:layout_toRightOf="@+id/button1"
android:layout_toLeftOf="@+id/button1"
android:layout_above="@+id/button1"
android:layout_below="@+id/button1"
|
在button1组件的那个位置 有四个方向 |
|
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_centerInParent="true"
|
在相对布局中的对其方式 |
|
android:layout_alignBaseline="@+id/button1"
|
组件的文字底部与button1的文字的底部对其
|
| 组件之间不能相互依赖,不然会出错 |
|

全局属性也即列属性,有以下3个参数:
android:stretchColumns 设置可伸展的列。该列可以向行方向伸展,最多可占据一整行。
android:shrinkColumns 设置可收缩的列。当该列子控件的内容太多,已经挤满所在行,那么该子控件的内容将往列方向显示。
android:collapseColumns 设置要隐藏的列。
示例:
android:stretchColumns="0" 第0列可伸展
android:shrinkColumns="1,2" 第1,2列皆可收缩
android:collapseColumns="1,2" 隐藏1,2列



与LinearLayout布局一样,也分为水平和垂直两种方式,默认是水平布局,一个控件挨着一个控件从左到右依次排列,但是通过指定android:columnCount设置列数的属性后,控件会自动换行进行排列。另一方面,对于GridLayout布局中的子控件,默认按照wrap_content的方式设置其显示,这只需要在GridLayout布局中显式声明即可。
其次,若要指定某控件显示在固定的行或列,只需设置该子控件的android:layout_row和android:layout_column属性即可,但是需要注意:android:layout_row=”0”表示从第一行开始,android:layout_column=”0”表示从第一列开始,这与编程语言中一维数组的赋值情况类似。
最后,如果需要设置某控件跨越多行或多列,只需将该子控件的android:layout_rowSpan或者layout_columnSpan属性设置为数值,再设置其layout_gravity属性为fill即可,前一个设置表明该控件跨越的行数或列数,后一个设置表明该控件填满所跨越的整行或整列。
5. 帧布局
FrameLayout帧布局在屏幕上开辟出了一块区域,在这块区域中可以添加多个子控件,但是所有的子控件都被对齐到屏幕的左上角。帧布局的大小由子控件中尺寸最大的那个子控件来决定。如果子控件一样大,同一时刻只能看到最上面的子控件。
FrameLayout继承自ViewGroup,除了继承自父类的属性和方法,FrameLayout类中包含了自己特有的属性和方法,如下表所示。
| 属性名称 | 对应方法 | 描述 |
| android:foreground | setForeground(Drawable) | 设置绘制在所有子控件之上的内容 |
| android:foregroundGravity | setForegroundGravity(int) | 设置绘制在所有子控件之上内容的gravity属性 |
已淘汰
适配器是一个连接数据和AdapterView的桥梁,通过它能有效地实现数据与AdapterView的分离设置,使AdapterView与数据的绑定更加简便,修改更加方便。

|
// 1 准备数据
String[] data = { "随悟空", "飘渺之旅", "海贼王", "星星的你" };
// 2. 创建适配器
/**
* 2: itemlayout 布局 3: 显示的数据
*/
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, data);
//3. 设置到ListView
list.setAdapter(adapter);
|
|
//如果数据不在数组中
//1. 创建Adapter
ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1);
//2. 添加数据
adapter2.add("额额额额额额");
adapter2.add("鹅鹅鹅");
adapter2.add("呵呵");
adapter2.add("额额额额额额");
//3. 设置显示
list.setAdapter(adapter2);
|
浙公网安备 33010602011771号