Android 六大布局之 GridLayout(网格布局)「建议收藏」

Android 六大布局之 GridLayout(网格布局)「建议收藏」目录GridLayout(网格布局)简述计算器布局的实现GridLayout(网格布局)简述GridLayout布局是Android4.0以后引入的新布局,和TableLayout(表格布局)有点类似,不过它功能更多,也更加好用可以自己设置布局中组件的排列方式 可以自定义网格布局有多少行,多少列 可以直接设置组件位于某行某列 可以设置组件横跨几行或者几列…

大家好,又见面了,我是你们的朋友全栈君。

目录

GridLayout(网格布局) 简述

计算器布局的实现


GridLayout(网格布局) 简述

1、GridLayout 布局是 Android 4.0 以后引入的新布局,和 TableLayout(表格布局) 有点类似,不过它功能更多,也更加好用

可以自己设置布局中组件的排列方式

可以自定义网格布局有多少行,多少列

可以直接设置组件位于某行某列

可以设置组件横跨几行或者几列

Android 六大布局之 GridLayout(网格布局)「建议收藏」

计算器布局的实现

Android 六大布局之 GridLayout(网格布局)「建议收藏」

上述效果实现代码如下:

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/GridLayout1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:columnCount="4"
    android:orientation="horizontal"
    android:rowCount="6">

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

    <Button
        android:layout_columnSpan="2"
        android:layout_gravity="fill"
        android:text="回退" />

    <Button
        android:layout_columnSpan="2"
        android:layout_gravity="fill"
        android:text="清空" />

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

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

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

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

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

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

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

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

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

    <Button
        android:layout_gravity="fill"
        android:text="7" />

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

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

    <Button
        android:layout_gravity="fill"
        android:text="/" />

    <Button
        android:layout_width="wrap_content"
        android:layout_gravity="fill"
        android:text="." />

    <Button
        android:layout_gravity="fill"
        android:text="0" />

    <Button
        android:layout_gravity="fill"
        android:text="=" />

</GridLayout>

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

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

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

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

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

回退 与 清空 按钮横跨两列,其它按钮都是直接添加,占用一行一列

通过 android:layout_rowSpan 与 android:layout_columnSpan 设置了组件横跨多行或者多列时,如果想要让组件填满横越过的行或列的话,则可以设置 android:layout_gravity = “fill” 

android:layout_gravity=”fill”:设置内容对其方式为填充

android:text=”0″:设置控件内容

android:textSize=”50sp”:设置控件字体大小

android:background=”#FFCCCC”:设置控件背景色

android:layout_marginLeft=”5dp”:设置控件内容距离左侧的距离

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139484.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • offsetWidth、clientWidth、width、scrollWidth区别及获取

    offsetWidth、clientWidth、width、scrollWidth区别及获取&lt;!DOCTYPEhtml&gt;&lt;htmllang="en"&gt;&lt;head&gt;&lt;metacharset="UTF-8"&gt;&lt;title&gt;offsetWidth、clientWidth、width、scrollWidth区别及获取&lt;/title&gt;&lt;style

    2022年7月22日
    11
  • CultureInfo中重要的InvariantCulture[通俗易懂]

    CultureInfo中重要的InvariantCulture[通俗易懂]CultureInfo简述CultureInfo类位于System.Globalization命名空间内,这个类和这个命名空间许多人都不了解也认为不需要太多了解,实际上,你写的程序中会经常间接得使用这些类。简单的说:当进行数字,日期时间,字符串匹配时,都会进行CultureInfo的操作,也就是不同的CultureInfo下,这些操作的结果可能会不一样。这里要介绍一下非常容易被忽视的In…

    2022年6月19日
    25
  • anycast RP「建议收藏」

    anycast RP「建议收藏」动态RP尽管较静态RP有一定的优点,但依旧存在缺陷,当选定了RP后,所有的流量仅仅依靠这一个RP转发组播数据流量,不能实现流量负载功能。anycastRP场景:为了增强PIM-SM中RP节点的可靠性,以及对网络中的组播流量进行分担,可在网络中选取若干RP点,运行AnycastRP,达到冗余备份,负载分担的目的。原理:多个RP配置一个相同的AnycastRP地址…

    2022年5月24日
    43
  • java字符串转换为json对象6_Json对象与Json字符串的转化、JSON字符串与Java对象的转换…

    java字符串转换为json对象6_Json对象与Json字符串的转化、JSON字符串与Java对象的转换…一.Json对象与Json字符串的转化1.jQuery插件支持的转换方式:$.parseJSON(jsonstr);//jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象2.浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器:JSON.stringify(obj)将JSON转为字符串。JSON.par…

    2022年10月6日
    2
  • ubuntu安装vscode并配置python环境(使用anaconda)「建议收藏」

    ubuntu安装vscode并配置python环境(使用anaconda)「建议收藏」参考文章和视频https://www.youtube.com/watch?v=h0HbFnb8bC8https://python.tutorials24x7.com/blog/how-to-install-visual-studio-code-for-python-on-ubuntustep1-安装VSCODE在terminal中输入sudosnapinstall–classiccode等待下载完成后,在terminal中输入code即可启动vscodestep2-安装插件参

    2022年9月15日
    1
  • linux vi 替换命令_vi替换命令转移

    linux vi 替换命令_vi替换命令转移原文地址:http://www.cnblogs.com/afant/archive/2009/03/11/1408745.html:s/^.*$/\L&/100#将100行内的小写转换成大写vi/vim中可以使用:s命令来替换字符串。:s/vivian/sky/替换当前行第一个vivian为sky:s/vivian/sky/g替换当前行所有vi

    2022年9月22日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号