android:用gridlayout布局一个计算器

一,代码:

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:columnCount="4"
    android:orientation="horizontal"
    android:layout_centerInParent="true"
    android:rowCount="6">

    <TextView
        android:layout_columnSpan="4"
        android:layout_gravity="fill"
        android:layout_marginTop="20dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:background="#FFCCCC"
        android:text="0"
        android:textSize="50sp" />

    <Button
        android:layout_row="1"
        android:layout_columnWeight="1"
        android:layout_column="0"
        android:layout_columnSpan="2"
        android:text="回退" />

    <Button
        android:layout_row="1"
        android:layout_columnWeight="1"
        android:layout_column="2"
        android:layout_columnSpan="2"
        android:text="清空" />


    <Button
        android:layout_row="2"
        android:layout_columnWeight="1"
        android:layout_column="0"
        android:text="+" />

    <Button
        android:layout_row="2"
        android:layout_columnWeight="1"
        android:layout_column="1"
        android:text="1" />

    <Button
        android:layout_row="2"
        android:layout_columnWeight="1"
        android:layout_column="2"
        android:text="2" />

    <Button
        android:layout_row="2"
        android:layout_columnWeight="1"
        android:layout_column="3"
        android:text="3" />

        <Button
            android:layout_row="3"
            android:layout_columnWeight="1"
            android:layout_column="0"
            android:text="-" />

        <Button
            android:layout_row="3"
            android:layout_columnWeight="1"
            android:layout_column="1"
            android:text="4" />

        <Button
            android:layout_row="3"
            android:layout_columnWeight="1"
            android:layout_column="2"
            android:text="5" />

        <Button
            android:layout_row="3"
            android:layout_columnWeight="1"
            android:layout_column="3"
            android:text="6" />

</GridLayout>

说明:

<GridLayout android:layout_width=”match_parent”:网格布局宽度为填满屏幕

<GridLayout android:layout_height=”wrap_content”:网格布局高度为包裹内容

<GridLayout android:columnCount=”4″:网格布局设置 4 列

<GridLayout android:rowCount=”6″:网格布局设置 6 行

<GridLayout android:orientation=”horizontal”:网格布局设置为水平布局

 

子视图的属性:

android:layout_column=“数字” 
表示显示在第几列,如果同时有多个视图设置为同一列,后面的视图将会被显示到下一行同样的列数位置

android:layout_row=“数字”   
表示显示在第几行,如果通过 layout_column 与 layout_row 组合使用,将多个设置到通一个位置,则会叠加覆盖 

android:layout_columnSpan=“数字”  占用一行几个列位置

android:layout_rowSpan=“数字”   占用一列的几个行位置

android:layout_columnWeight=“数字”
该控件的列权重,与 android:layout_weight 类似,
例如有 GridLayout 上两列,都设置 android:layout_columnWeight = "1",则两列各占 GridLayout 宽度的一半

android:layout_rowWeight=“数字”
跟 layout_columnWeight 同理

 

二,测试效果:

说明:如果不用layout_columnWeight指定权重时,
则分布宽度不平均,如下图

 

posted @ 2025-05-17 08:18  刘宏缔的架构森林  阅读(37)  评论(0)    收藏  举报