天天看点

Android GridLayout简介,以计算器为例



《Android GridLayout简介,以计算器为例》

Android GridLayout默认从左往右水平布局元素。可以通过设置属性:android:orientation=,控制子元素布局的方向为水平还是垂直。

GridLayout的属性 android:layout_row 和 android:layout_column 设定常数值则指定GridLayout显示的行列数。

设定 android:layout_rowSpan 或者 android:layout_columnSpan 常数值,且同时设定android:layout_gravity="fill",则该元素将跨界占满指定的行列。

以一个简单的计算器布局为例加以说明,该计算器仅仅通过一个布局文件即可实现,下面就是一个使用Android GridLayout布局实现的计算器效果图如下:

上面用Android GridLayout实现的计算器效果图XML布局文件完整代码:

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:columnCount="4"
    android:orientation="horizontal"
    android:rowCount="5" >

    <Button
        android:id="@+id/one"
        android:text="1" />

    <Button
        android:id="@+id/two"
        android:text="2" />

    <Button
        android:id="@+id/three"
        android:text="3" />

    <Button
        android:id="@+id/devide"
        android:text="/" />

    <Button
        android:id="@+id/four"
        android:text="4" />

    <Button
        android:id="@+id/five"
        android:text="5" />

    <Button
        android:id="@+id/six"
        android:text="6" />

    <Button
        android:id="@+id/multiply"
        android:text="×" />

    <Button
        android:id="@+id/seven"
        android:text="7" />

    <Button
        android:id="@+id/eight"
        android:text="8" />

    <Button
        android:id="@+id/nine"
        android:text="9" />

    <Button
        android:id="@+id/minus"
        android:text="-" />

    <Button
        android:id="@+id/zero"
        android:layout_columnSpan="2"
        android:layout_gravity="fill"
        android:text="0" />

    <Button
        android:id="@+id/point"
        android:text="." />

    <Button
        android:id="@+id/plus"
        android:layout_gravity="fill"
        android:layout_rowSpan="2"
        android:text="+" />

    <Button
        android:id="@+id/equal"
        android:layout_columnSpan="3"
        android:layout_gravity="fill"
        android:text="=" />

</GridLayout>           

继续阅读