1.LinearLayout(线性布局)
常用属性
(1)orientation:布局组件的排列方式,有水平排列方式和垂直排列方式。
(2)gravity:控制组件所包含的子元素的对齐方式
(3)layout_gravity:控制该组件在父元素里的对齐方式
(4)layout_weight:权重
2.RelativeLayout(相对布局)
3.TableLayout(表格布局)
三个常用属性:
(1)android:collapseColumns :设置需要被隐藏的列的序号
(2)android:shrinkColumns :设置允许被收缩的列的序号
(3)android:stretchColumns: 设置允许被拉伸的列的序号
<TableLayout
android:id="@+id/TableLayout2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:collapseColumns="2,4" > //隐藏第二列和第四列
<TableRow>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="one" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="two" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="three" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="four" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="five" />
</TableRow>
</TableLayout>
4.FrameLayout(帧布局)
常用属性:
(1)android:foreground:设置该帧布局的前景图像
(2)android:foregroundGrivaty:设置该帧布局的前景图像的位置
5.GridLayout(网格布局)
和TableLayout比较类似,但
(1)可以设置布局中组件的排列方式
(2)可以自定义网格布局有多少行与列
(3)可以直接设置组件位于某行某列
属性:
(1)android:rowCount=“5” //设置5行
(2)android:columnCount=“5” //设置5列
(3)android:layout_row=“1” //设置组件位于第二行 从0开始算起
(4)android:layout_column=“2” //设置组件位于第三列
(5)android:layout_rowSpan=“2” //设置横跨2行
(6)android:layout_columnSpan=“3” //设置纵跨3列
计算机布局实例:
界面:
代码
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:rowCount="6"
android:columnCount="4"
android:orientation="horizontal">
<TextView
android:layout_columnSpan="4"
android:layout_gravity="fill"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:background="#ffcccc"
android:text="0"
android:textSize="50dp"/>
<Button
android:layout_columnSpan="2"
android:layout_gravity="fill"
android:text="回退"/>
<Button
android:layout_gravity="fill"
android:layout_columnSpan="2"
android:text="清空"/>
<Button android:text="+"/>
<Button android:text="1"/>
<Button android:text="2"/>
<Button android:text="3"/>
<Button android:text="-"/>
<Button android:text="4"/>
<Button android:text="5"/>
<Button android:text="6"/>
<Button android:text="*"/>
<Button android:text="7"/>
<Button android:text="8"/>
<Button android:text="9"/>
<Button android:text="/"/>
<Button android:text="."/>
<Button android:text="0"/>
<Button android:text="="/>
</GridLayout>