Android布局之GridLayout网格布局

网格布局标签是GridLayout。这个布局是android4.0新增的布局。这个布局只有4.0之后的版本才能使用。

不过新增了一些东东

①跟LinearLayout(线性布局)一样,他可以设置容器中组件的对齐方式

②容器中的组件可以跨多行也可以跨多列(相比TableLayout直接放组件,占一行相比较)

因为是android 4.0新增的,API Level 14,在这个版本以前的sdk

都需要导入项目,等下会详细介绍

常用属性:

排列对齐:

①设置组件的排列方式:   android:orientation=""     vertical(竖直,默认)或者horizontal(水平)

②设置组件的对齐方式:   android:layout_gravity=""   center,left,right,buttom啊,这些,如果想同时用两种的话:eg: buttom|left

学习导图

(一)简介

  网格布局由GridLayout所代表,在android4.0之后新增加的布局管理器,因此需要android4.0之后的版本中使用,如果在更早的平台使用该布局管理器,则需要导入相应的支持库<android.support.v7.widget.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="match_parent"
  android:rowCount="6"
  android:columnCount="4"
  android:layout_gravity="fill">
  <TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="0"
    android:textSize="80sp"
    android:layout_marginRight="5dp"
    android:layout_marginLeft="5dp"
    android:layout_columnSpan="4"
    android:background="#eee"
    android:padding="3sp"
    android:editable="false"
    android:textColor="#000"
    />
 <Button
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:layout_columnSpan="4"
   android:text="清除"
   android:textColor="#000"
   android:textSize="24dp"
   android:layout_marginLeft="5dp"
   android:layout_marginRight="5dp"
   android:background="@android:color/background_light"
   />
  <Button
    android:layout_marginTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="7"
    android:textColor="#000"
    android:textSize="24dp"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:background="@android:color/background_light"
    />
  <Button
    android:layout_marginTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="8"
    android:textColor="#000"
    android:textSize="24dp"
    android:layout_marginLeft="10dp"
    android:background="@android:color/background_light"
    />
  <Button
    android:layout_marginTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="9"
    android:textColor="#000"
    android:textSize="24dp"
    android:layout_marginLeft="10dp"
    android:background="@android:color/background_light"
    />
  <Button
    android:layout_marginTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="+"
    android:textColor="#000"
    android:textSize="24dp"
    android:layout_marginLeft="10dp"
    android:background="@android:color/background_light"
    />
  <Button
    android:layout_marginTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="4"
    android:textColor="#000"
    android:textSize="24dp"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:background="@android:color/background_light"
    />
  <Button
    android:layout_marginTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="5"
    android:textColor="#000"
    android:textSize="24dp"
    android:layout_marginLeft="10dp"
    android:background="@android:color/background_light"
    />
  <Button
    android:layout_marginTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="6"
    android:textColor="#000"
    android:textSize="24dp"
    android:layout_marginLeft="10dp"
    android:background="@android:color/background_light"
    />
  <Button
    android:layout_marginTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="-"
    android:textColor="#000"
    android:textSize="24dp"
    android:layout_marginLeft="10dp"
    android:background="@android:color/background_light"
    />
  <Button
    android:layout_marginTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="1"
    android:textColor="#000"
    android:textSize="24dp"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:background="@android:color/background_light"
    />
  <Button
    android:layout_marginTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="2"
    android:textColor="#000"
    android:textSize="24dp"
    android:layout_marginLeft="10dp"
    android:background="@android:color/background_light"
    />
  <Button
    android:layout_marginTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="3"
    android:textColor="#000"
    android:textSize="24dp"
    android:layout_marginLeft="10dp"
    android:background="@android:color/background_light"
    />
  <Button
    android:layout_marginTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="*"
    android:textColor="#000"
    android:textSize="24dp"
    android:layout_marginLeft="10dp"
    android:background="@android:color/background_light"
    />
  <Button
    android:layout_marginTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="."
    android:textColor="#000"
    android:textSize="24dp"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:background="@android:color/background_light"
    />
  <Button
    android:layout_marginTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="0"
    android:textColor="#000"
    android:textSize="24dp"
    android:layout_marginLeft="10dp"
    android:background="@android:color/background_light"
    />
  <Button
    android:layout_marginTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="="
    android:textColor="#000"
    android:textSize="24dp"
    android:layout_marginLeft="10dp"
    android:background="@android:color/background_light"
    />
  <Button
    android:layout_marginTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="/"
    android:textColor="#000"
    android:textSize="24dp"
    android:layout_marginLeft="10dp"
    android:background="@android:color/background_light"
    />
</GridLayout>

以上内容是小编给大家介绍的Android布局之GridLayout网格布局相关知识,希望大家喜欢。

(0)

相关推荐

  • android计算器代码示例分享

    复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?><EditText    android:id="@+id/editText1"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:ems="10&quo

  • Android计算器简单逻辑实现实例分享

    引言: 我的android计算器的实现方式是:按钮输入一次,就处理一次. 但是如果你学过数据结构(栈),就可以使用表达式解析(前缀,后缀)处理. 而这个方式已经很成熟了,但是时间有限,只完成了这个简单的计算器. 至于,这个Android的布局已经在我博客中发布了,不再讲述. 复制代码 代码如下: package com.example.androidlessontwo; import android.os.Bundle;import android.app.Activity;import and

  • android计时器,时间计算器的实现方法

    需求:默认为"00:00:00",点击开始按钮时清零后开始计时,出现如10:28:34.点击停止的时候停止计时.问题:使用Calendar DateFormat的方法,不设置时区获取到的小时是本地时区的(东八区的就是8),设置成GMT标准时区获取到的时间是12小时(12:00:00),设置24小时制无效.在开始时间加减各种小时都无效,而且计时只能到12小时就自动跳上去了,始终无法出现默认状态00:00:00开始计时的效果.尝试各种时间设置方法无效后只能自己写一个根据秒数转换时间格式字符

  • Android中使用GridLayout网格布局来制作简单的计算器App

    关于GridLayout 在android4.0版本之前,如果想要达到网格布局的效果,首先可以考虑使用最常见的LinearLayout布局,但是这样的排布会产生如下几点问题: 1.不能同时在X,Y轴方向上进行控件的对齐. 2.当多层布局嵌套时会有性能问题. 3.不能稳定地支持一些支持自由编辑布局的工具. 其次考虑使用表格布局TabelLayout,这种方式会把包含的元素以行和列的形式进行排列,每行为一个TableRow对象,也可以是一个View对象,而在TableRow中还可以继续添加其他的控件

  • Android网格视图GridView的使用

    GridView(网格视图)是按照行列的方式来显示内容的,一般用于显示图片,图片等内容,比如实现九宫格图,用GridView是首选,也是最简单的.主要用于设置Adapter. 网格视图GridView的排列方式与矩阵类似,当屏幕上有很多元素(文字.图片或其他元素)需要按矩阵格式进行显示时,就可以使用GridView控件来实现. GridView常用的XML属性: 本文将以一个具体的实例来说明如何使用GridView控件实现手机屏幕上各个应用软件图标的摆放,以及应用软件名称的显示. 完成后的程序运

  • 从零开始学android实现计算器功能示例分享(计算器源码)

    下面是效果展示: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match

  • Android GridView不改变背景色实现网格线效果

    项目中需要给GridView添加一个网格线,而且GridView的背景是一张完整的图片,如图所示: 常用的方法是: 1.改变GridView的背景色 2.设置GridView水平或竖直方向的间隔 3设置item的布局文件背景色 上述的方法直接改变了GridView的背景色,显然是不符合项目要求的,我在网上搜索了一下没有找到解决方案,这里给出自己的解决方案: 给item的布局文件添加一个边框背景即可: <shape xmlns:android="http://schemas.android.

  • Android中在GridView网格视图上实现item拖拽交换的方法

    GridView基础 新建一个HelloGridView的工程 修改main.xml代码如下: <?xml version="1.0" encoding="utf-8"?> <GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/gridview" android:layout_width=&q

  • Android布局之GridLayout网格布局

    网格布局标签是GridLayout.这个布局是android4.0新增的布局.这个布局只有4.0之后的版本才能使用. 不过新增了一些东东 ①跟LinearLayout(线性布局)一样,他可以设置容器中组件的对齐方式 ②容器中的组件可以跨多行也可以跨多列(相比TableLayout直接放组件,占一行相比较) 因为是android 4.0新增的,API Level 14,在这个版本以前的sdk 都需要导入项目,等下会详细介绍 常用属性: 排列对齐: ①设置组件的排列方式:   android:ori

  • JavaSwing GridLayout 网格布局的实现代码

    1. 概述 官方JavaDocsApi: java.awt.GridLayout GridLayout,网格布局管理器.它以矩形网格形式对容器的组件进行布置,把容器按行列分成大小相等的矩形网格,一个网格中放置一个组件,组件宽高自动撑满网格. 以行数和总数优先: 通过构造方法或 setRows 和 setColumns 方法将行数和列数都设置为非零值时,指定的列数将被忽略.列数通过指定的行数和布局中的组件总数来确定.因此,例如,如果指定了三行和两列,在布局中添加了九个组件,则它们将显示为三行三列.

  • Android网格布局GridView学习使用

    应用开发的时候,有时我们需要将一些图片进行预览,例如:相片管理的应用.这个时候用ListView的话就显得不是太合适了,因为ListView的展现形式毕竟不适合这种预览要求,那么通过什么视图组件可 以实现呢?这里就可以使用GridView,android中的网格布局来实现了. GridView控件用于把一系列的控件组织成二维网格的形式显示出来,应用较多的也就是图片的组合显示了.关于GridView的使用直接看例子程序. 先看效果图: 具体实现方式如下: 主布局文件main.xml <?xml v

  • Android应用开发中使用GridView网格布局的代码示例

    基本布局演示 1. 定义包含GridView 的 main.xmk <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fi

  • Android RecyclerView网格布局(支持多种分割线)详解(2)

    上篇Android RecyclerView 详解(1)-线性布局 记录了下RecyclerView的使用方法,并且讲述了线性布局列表的使用方法,在此基础上加上了万能分割线,支持颜色分割线和图片分割线,同时支持对分割线设置线宽. 这篇是总结一下网格布局的使用,同样也支持两种分割线和线宽的设置. 主要的相关类: 1. RecyclerView.Adapter 2. GridLayoutManager 网格布局管理器 3. RecycleView.ItemDecoration 分割线 下面就直接通过

  • Android RecyclerView网格布局示例解析

    一个简单的网格布局 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/ap

  • 详解jQuery移动页面开发中的ui-grid网格布局使用

    在移动设备上,屏幕宽度狭窄,因此通常不使用多栏布局,但是有时你可能需要将小的元素(如按钮或并排导航标签,例如)多列排列在一起.Jquery Mobile 框架提供了一种简单的方法构建基于css 的分栏布局,叫做ui-grid Jquery Mobile 提供有四个预设的布局,可以在任何情况下都需要列 两列(使用ui-grid-a类) 三列(使用ui-grid-b类) 四列(使用ui-grid-c类) 五列(使用ui-grid-d类) 网格是100%的宽度,完全看不见的(没有边界或背景)和没有ma

  • RecyclerView仿应用列表实现网格布局

    简介 使用RecyclerView实现网格布局,实现手机界面应用列表 效果 效果如下图: 详细代码 XML布局文件 在布局中使用RecyclerView控件 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:a

  • Android布局之FrameLayout帧布局

    前言 作为android六大布局中最为简单的布局之一,该布局直接在屏幕上开辟出了一块空白区域, 当我们往里面添加组件的时候,所有的组件都会放置于这块区域的左上角; 帧布局的大小由子控件中最大的子控件决定,如果都组件都一样大的话,同一时刻就只能能看到最上面的那个组件了! 当然我们也可以为组件添加layout_gravity属性,从而制定组件的对其方式 帧布局在游戏开发方面用的比较多,等下后面会给大家演示一下比较有意思的两个实例 (-)帧布局简介 帧布局容器为每个加入的其中的组件创建一个空白的区域称

随机推荐