原创 GridLayout:网格布局管理器的使用

2021-4-8 16:51 2915 20 5 分类: 软件与OS 文集: android studio

网格布局管理器是 Android 4.0以后新增加的布局管理器。网格布局管理器将容器划分为行x列的网格,每个控件置于网格中,当然也可以通过设置相关属性使一个控件占据多行或多列.

 

GridLayout 实例及属性详解

 

GridLayout常用属性

android:rowCount="4"  设置网格布局有4

android:columnCount="4" 设置网格布局有4

android:layout_row="1"  设置组件位于第2

android:layout_column="2"  设置该组件位于第3

android:layout_rowSpan="2"  设置纵向横跨2

android:layout_columnSpan ="3"  设置横向横跨 3

 

布局文件实例如下:

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:rowCount="6"
    android:columnCount="4"
    android:orientation="horizontal">
    <TextView
        android:layout_columnSpan="4"
        android:text="0"
        android:textSize="60sp"
        android:layout_marginRight="5dp"
        android:layout_marginLeft="5dp"/>
    <Button
        android:text="回退"
        android:layout_columnSpan="2"
        android:layout_gravity="fill"/>
    <Button
        android:text="清空"
        android:layout_columnSpan="2"
        android:layout_gravity="fill"/>
    <Button
        android:text="+"/>
    <Button
        android:text="1"/>
    <Button
        android:text="2"/>
    <Button
        android:text="3"/>
    <Button
        android:text="-"/>
    <Button
        android:text="4"/>
    <Button
        android:text="5"/>
    <Button
        android:text="6"/>
    <Button
        android:text="*"/>
    <Button
        android:text="7"/>
    <Button
        android:text="8"/>
    <Button
        android:text="9"/>
    <Button
        android:text="/"/>
    <Button
        android:text="."/>
    <Button
        android:text="0"/>
    <Button
        android:text="="/>
GridLayout>

在这个程序中使用了网格布局,用TextView Button控件制作了一个简单计算器的布局。程序中通过androidlayout_rowSpanandroid∶layout_columnSpan设置表明组件横跨的行数与列数,再通过∶android∶layout gravity ="filI"设置表明组件填满所横跨的整行或者整列。程序运行效果如图所示:

使用代码控制网格布局管理器

网格布局也可以通过 Android.widget.GridLayout 类来动态控制,所有的参数也可以通过 Android.widget.GridLayout.LayoutParams类来控制。

通过Android.widget.GridLayout类和Android.widget.GridLayout.LayoutParams类控制网格布局的代码实例如下

这个程序通过在 Activity 中使用 Java 代码动态操作布局文件的方式定义了网格布局,实现了和使用布局文件同样的功能效果如图所示。

这里我们在代码里面没有设置清除和回退两个按钮跨2列,所以这两个按钮各自只占了一列。同样文本0也只是占了一行一列。

作者: 大鸟科创空间, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3949041.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

简单qqq 2021-4-13 10:21

学习

yzw92 2021-4-12 06:38

感谢楼主的分享。
相关推荐阅读
大鸟科创空间 2022-02-14 17:42
生日快乐HTML浪漫网页制作源码
对象生日快到了,赶快下载去给ta一个惊喜吧。解压后里面有整个项目和使用说明。这个代码有背景音乐(可以自己更改),有自转相册(可以改成对象照片)如下是效果截图,用鼠标滑动界面会有爱心划过,下滑可以循环播...
大鸟科创空间 2022-01-18 18:06
Android之WebView用法
除了HTTP通信与 Socket 通信两种主要的网络技术外,在 Android 中还提供了一种加载和显示网页的技术—WebView。这可以让我们去处理一些特殊的需求,比如像微信那样在应用程序里展示网页...
大鸟科创空间 2022-01-07 14:18
Android之Socket实例
    Socket(套接字)是对 TCP/IP 协议的封装和应用,根据底层封装协议的不同,Socket 的类型可以分为流套接字(streamsocket)和数据报套接字(data...
大鸟科创空间 2021-12-24 14:38
Android之本地广播的使用
前面我们发送和接收的广播全部属于系统全局广播,即发出的广播可以被其他任何应用程序接收到,并且我们也可以接收来自于其他任何应用程序的广播。这样就很容易会引起安全性的问题,比如说我们发送的一些携带关键性数...
大鸟科创空间 2021-12-15 12:50
自定义广播实例
我们应该已经学会了通过广播接收者来接收系统广播的内容,但是在实际开发中,仍需要自定义一些广播。下面我们就来讲解如何在应用程序中发送自定义的广播。发送广播很简单,只需要声明一个意图,然后使用Contex...
大鸟科创空间 2021-12-07 13:04
Android之动态注册广播实例
Android内置了很多系统级别的广播,我们可以在应用序中通过监听这些广播来得到各种系统的状态信息,比如手机开机完成后会发出一条广播、电池的电最发生变化会发出一条广播、时间或时区发生改变也会发出一条广...
我要评论
2
20
关闭 站长推荐上一条 /3 下一条