目录
GridLayout(网格布局) 简述
计算器布局的实现
GridLayout(网格布局) 简述
1、GridLayout 布局是 Android 4.0 以后引入的新布局,和 TableLayout(表格布局) 有点类似,不过它功能更多,也更加好用
可以自己设置布局中组件的排列方式
可以自定义网格布局有多少行,多少列
可以直接设置组件位于某行某列
可以设置组件横跨几行或者几列
计算器布局的实现
上述效果实现代码如下:
<GridLayout xmlns:android="/apk/res/android"android:id="@+id/GridLayout1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:columnCount="4"android:orientation="horizontal"android:rowCount="6"><TextViewandroid:layout_columnSpan="4"android:layout_gravity="fill"android:layout_marginLeft="5dp"android:layout_marginRight="5dp"android:background="#FFCCCC"android:text="0"android:textSize="50sp" /><Buttonandroid:layout_columnSpan="2"android:layout_gravity="fill"android:text="回退" /><Buttonandroid:layout_columnSpan="2"android:layout_gravity="fill"android:text="清空" /><Buttonandroid:layout_gravity="fill"android:text="+" /><Buttonandroid:layout_gravity="fill"android:text="1" /><Buttonandroid:layout_gravity="fill"android:text="2" /><Buttonandroid:layout_gravity="fill"android:text="3" /><Buttonandroid:layout_gravity="fill"android:text="-" /><Buttonandroid:layout_gravity="fill"android:text="4" /><Buttonandroid:layout_gravity="fill"android:text="5" /><Buttonandroid:layout_gravity="fill"android:text="6" /><Buttonandroid:layout_gravity="fill"android:text="*" /><Buttonandroid:layout_gravity="fill"android:text="7" /><Buttonandroid:layout_gravity="fill"android:text="8" /><Buttonandroid:layout_gravity="fill"android:text="9" /><Buttonandroid:layout_gravity="fill"android:text="/" /><Buttonandroid:layout_width="wrap_content"android:layout_gravity="fill"android:text="." /><Buttonandroid:layout_gravity="fill"android:text="0" /><Buttonandroid:layout_gravity="fill"android:text="=" /></GridLayout>
<GridLayout android:layout_width="fill_parent":网格布局宽度为填满屏幕
<GridLayout android:layout_height="wrap_content":网格布局高度为包裹内容
<GridLayout android:columnCount="4":网格布局设置 4 列
<GridLayout android:rowCount="6":网格布局设置 6 行
<GridLayout android:orientation="horizontal":网格布局设置为水平布局
回退 与 清空 按钮横跨两列,其它按钮都是直接添加,占用一行一列
通过android:layout_rowSpan与android:layout_columnSpan设置了组件横跨多行或者多列时,如果想要让组件填满横越过的行或列的话,则可以设置android:layout_gravity = "fill"
android:layout_gravity="fill":设置内容对其方式为填充
android:text="0":设置控件内容
android:textSize="50sp":设置控件字体大小
android:background="#FFCCCC":设置控件背景色
android:layout_marginLeft="5dp":设置控件内容距离左侧的距离