IDEA Android 网格布局(GridLayout)示例(计算器界面布局)

54 篇文章 3 订阅

网格布局(GridLayout)

示例程序效果(实现类似vivo手机自带计算器UI)

真机和模拟器运行效果:

 

简述:

GridLayout(网格布局)和TableLayout(表格布局)有类似的地方,通俗来讲可以理解为网格布局是表格布局的升级版,这样容易理解。相对来说网格布局的优点有一下几点:

  1. 可以设置布局中组件的排列方式。
  2. 任意自定义网格布局的行列。
  3. 可以直接设置组件位于某行某列。
  4. 可以设置组件横跨几行或者几列。

主要属性: 

设置排列对齐
android:orientation :设置排列方式,默认垂直(vertical竖直)、水平(horizontal)。
android:layout_gravity : 设置对齐方式,left ,right,center,buttom,也可以同时使用俩个,比如:top | left。

设置几行几列
android:rowCount=”5”//设置网格布局有5行。
android:columnCount=”5”//设置网格布局有5列。

设置组件所在的行列(注意:是从0开始计的!)
android:layout_row =”2”//设置组件位于第3行。
android:layout_column = “3” //设置该组件位于第4列。

设置组件横跨几行几列
android:layout_rowSpan=”3”//纵向横跨3行合并
android:layout_columnSpan=”3”//横向横跨3列合并

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:id="@+id/GridLayout1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:columnCount="4"
            android:orientation="horizontal"
            android:layout_margin="5dp"
            android:rowCount="7">


    <TextView
            android:layout_columnSpan="4"
            android:layout_gravity="fill"
            android:layout_width="0dp"
            android:layout_margin="2dp"

            android:background="#FFFFF0"
            android:text="0"
            android:textSize="50sp" />

    <Button
            android:layout_columnSpan="1"
            android:layout_gravity="fill"
            android:layout_margin="2dp"
            android:text="mc" />

    <Button
            android:layout_columnSpan="1"
            android:layout_gravity="fill"
            android:layout_margin="2dp"
            android:text="m+" />

    <Button
            android:layout_columnSpan="1"
            android:layout_gravity="fill"
            android:layout_margin="2dp"
            android:text="m-" />

    <Button
            android:layout_columnSpan="1"
            android:layout_gravity="fill"
            android:layout_margin="2dp"
            android:text="mr" />

    <Button
            android:text="AC"
            android:layout_margin="2dp"
            android:layout_gravity="fill" />

    <Button
            android:text="退格"
            android:layout_margin="2dp"
            android:layout_gravity="fill" />

    <Button

            android:text="+/-"
            android:layout_margin="2dp"
            android:layout_gravity="fill" />

    <Button

            android:text="/"
            android:layout_margin="2dp"
            android:layout_gravity="fill" />

    <Button

            android:text="7"
            android:layout_margin="2dp"
            android:layout_gravity="fill" />

    <Button
            android:text="8"
            android:layout_margin="2dp"
            android:layout_gravity="fill" />

    <Button
            android:text="9"
            android:layout_margin="2dp"
            android:layout_gravity="fill" />

    <Button
            android:text="*"
            android:layout_margin="2dp"
            android:layout_gravity="fill" />

    <Button
            android:text="4"
            android:layout_margin="2dp"
            android:layout_gravity="fill" />

    <Button
            android:text="5"
            android:layout_margin="2dp"
            android:layout_gravity="fill" />

    <Button
            android:text="6"
            android:layout_margin="2dp"
            android:layout_gravity="fill" />

    <Button
            android:text="-"
            android:layout_margin="2dp"
            android:layout_gravity="fill" />

    <Button
            android:text="1"
            android:layout_margin="2dp"
            android:layout_gravity="fill" />

    <Button

            android:text="2"
            android:layout_margin="2dp"
            android:layout_gravity="fill" />

    <Button
            android:text="3"
            android:layout_margin="2dp"
            android:layout_gravity="fill" />

    <Button
            android:text="+"
            android:layout_margin="2dp"
            android:layout_gravity="fill" />

    <Button
            android:text="%"
            android:layout_margin="2dp"
            android:layout_gravity="fill" />

    <Button

            android:text="0"
            android:layout_margin="2dp"
            android:layout_gravity="fill" />

    <Button
            android:text="."
            android:layout_margin="2dp"
            android:layout_gravity="fill" />

    <Button
            android:text="="
            android:layout_margin="2dp"
            android:layout_gravity="fill" />


</GridLayout>

 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值