网格布局

1、构建网格

android:rowCount="4"  //指定纵向行数 android:columnCount="4"//指定横向列数

2、网格布局也有orientation属性,可以让控件按水平(默认)或者垂直排列。

3、设置孩子控件的位置

android:layout_row=""android:layout_column=""

以第一个button为例,第一个button在第一行第零列,因此设置

android:layout_row="1"android:layout_column="0"

4、若一个控件要占据多个单元格

①设置控件的 android:layout_rowSpan 或者layout_columnSpan 属性。
②再设置其layout_gravity属性为fill, 表示用控件填满这两个单元格

android:layout_rowSpan或android:layout_columnSpan layout_gravity="fill"

eg:
设置TextView占第一行的四列

android:layout_gravity="fill"//填满
android:layout_columnSpan="4"//占据四列

5、注意
通常为 GridLayout 中的控件设置 layout_height 和 layout_width 是不必要的, 甚至可能导致混乱。

效果

【安卓开发】UI设计基础4:用网格布局 GridLayout 实现计算器UI_第1张图片

代码实现

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    android:rowCount="6"    android:columnCount="4"    ><TextView    android:layout_gravity="fill"    android:layout_columnSpan="4"    android:text="计算结果"    android:textSize="50dp"    android:layout_marginTop="30dp"    android:layout_marginBottom="70dp"    android:gravity="right|bottom"    />    <Button        android:layout_row="1"        android:layout_column="0"        android:text="AC"        android:textSize="30dp"        />    <Button        android:layout_row="1"        android:layout_column="1"        android:text="DEL"        android:textSize="30dp"        />    <Button        android:layout_row="1"        android:layout_column="2"        android:text="-/+"        android:textSize="30dp"        />    <Button        android:layout_row="1"        android:layout_column="3"        android:text="/"        android:textSize="30dp"        />    <Button        android:layout_row="2"        android:layout_column="0"        android:text="7"        android:textSize="30dp"        />    <Button        android:layout_row="2"        android:layout_column="1"        android:text="8"        android:textSize="30dp"        />    <Button        android:layout_row="2"        android:layout_column="2"        android:text="9"        android:textSize="30dp"        />    <Button        android:layout_row="2"        android:layout_column="3"        android:text="*"        android:textSize="30dp"        />    <Button        android:layout_row="3"        android:layout_column="0"        android:text="4"        android:textSize="30dp"        />    <Button        android:layout_row="3"        android:layout_column="1"        android:text="5"        android:textSize="30dp"        />    <Button        android:layout_row="3"        android:layout_column="2"        android:text="6"        android:textSize="30dp"        />    <Button        android:layout_row="3"        android:layout_column="3"        android:text="-"        android:textSize="30dp"        />    <Button        android:layout_column="0"        android:layout_row="4"        android:text="1"        android:textSize="30dp" />    <Button        android:layout_column="1"        android:layout_row="4"        android:text="2"        android:textSize="30dp" />    <Button        android:layout_column="2"        android:layout_row="4"        android:text="3"        android:textSize="30dp" />    <Button        android:layout_row="4"        android:layout_column="3"        android:text="+"        android:textSize="30dp"        />    <Button        android:layout_row="5"        android:layout_column="0"        android:text="="        android:textSize="30dp"        />    <Button        android:layout_row="5"        android:layout_column="1"        android:text="0"        android:textSize="30dp"        />    <Button        android:layout_row="5"        android:layout_column="2"        android:text="."        android:textSize="30dp"        />    <Button        android:layout_row="5"        android:layout_column="3"        android:text="%"        android:textSize="30dp"        />    GridLayout>

更多相关文章

  1. android 各种控件颜色值的设置(使用Drawable,Color)
  2. Android 基本控件及表单三大控件,事件处理
  3. Android中的布局方式(二)
  4. Android L新控件RecyclerView简介
  5. 键盘弹出以后Activity的布局方式
  6. Android其它新控件
  7. Android布局 android:gravity 和 android:layout_Gravity一些细
  8. RelativeLayout 相对布局
  9. android > 布局文件 > 背景圆角

随机推荐

  1. 通过JavaScript或PHP检测Android设备的代
  2. Android中的Spinner的用法详解
  3. Android application context/activity c
  4. 解决TextView中MaxLines与ellipsize=end
  5. Android基础学习-----创建第一个Android
  6. android短信的接收和发送处理
  7. Android常见问题总结(一)
  8. Android(安卓)应用框架层调用应用层资源
  9. android开发横竖屏切换
  10. android EditText被键盘遮住的问题