0
点赞
收藏
分享

微信扫一扫

Android布局——帧布局、表格布局、网格布局


前面文章有讲过Android布局中常用的线性布局和相对布局,这里学习另外三种不常用布局帧布局、表格布局、网格布局

帧布局

 

如上图类似这种布局就是帧布局,后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡

常用属性

android:layout_gravity="center"//控件重力
android:gravity="center"//控件内容相对于控件本身的位置
android:foreground="@mipmap/bg"//前景
android:foregroundGravity="center_vetical"//前景重力

案例代码

<TextView
android:layout_width="350dp"
android:layout_height="350dp"
android:background="#ff0000"
android:layout_gravity="center"/>
<TextView
android:layout_width="200dp"
android:layout_height="200dp"
android:background="#00ff00"
android:layout_gravity="center"
/>
<TextView
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#0000ff"
android:layout_gravity="center"
android:text="测试内容"
android:textColor="#ffffff"
android:gravity="center"
/>

效果

Android布局——帧布局、表格布局、网格布局_控件

表格布局

通过行列的形式展示我们的控件,这样的布局就是表格布局

Android布局——帧布局、表格布局、网格布局_android_02

常见属性

android:stretchColumns="*"//设置可伸展的列,传入的是整型数据,即列的索引,*代表所有,也可多个比如1,2
android:shrinkColumns="1"//可伸缩的列
android:collapseColumns="2,3"//隐藏的列

案例代码

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:stretchColumns="*"
>
<!--
1.直接在Tablelayout中添加控件,默认控件和父容器等宽,要让一些控件出现在同一行,把这些控件放在TableRow
里面,宽度默认是内容宽度
-->
<EditText/>
<TableRow>

<Button android:text="7" />
<Button android:text="8" />
<Button android:text="9" />
<Button android:text="/" />
</TableRow>

<TableRow>

<Button android:text="4" />
<Button android:text="5" />
<Button android:text="6" />
<Button android:text="-" />
</TableRow>

<TableRow>

<Button android:text="1" />
<Button android:text="2" />
<Button android:text="3" />
<Button android:text="+" />
</TableRow>

<TableRow>

<Button android:text="." />
<Button android:text="0" />
<Button android:text="=" />
<Button android:text="*" />
</TableRow>

</TableLayout>

网格布局

Android布局——帧布局、表格布局、网格布局_android_03

如上图,网格布局和表格布局类似,但是网格能自身确定整个布局应该出现多少行多少列。控件放入的时候从左到右摆满指定的列数,再从第二行开始摆放

常用属性

android:orientation="horizontal"//表示控件在网格中从左到右顺序摆放还是上到下的顺序摆放
android:rowCount="4"//行数
android:columnCount="3"//列数
android:layout_rowSpan="2"//跨2行
android:layout_columnSpan="2"//跨2列
android:layout_gravity="fill"//填充展示

案例

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:rowCount="4"
android:columnCount="3"
>
<Button android:text="1"/>
<Button android:text="2"/>
<Button android:text="3"/>
<Button android:text="4"
android:layout_rowSpan="2"
android:layout_columnSpan="2"
android:layout_gravity="fill"/>
<Button android:text="5"/>
<Button android:text="6"/>
<Button android:text="7"/>
<Button android:text="8"/>
<Button android:text="9"/>
</GridLayout>

 

举报

相关推荐

0 条评论