精华内容
下载资源
问答
  • android studio-GridLayout网格布局设计简易的计算器界面Android Studio简介Android Studio七大布局GridLayout(网格布局)解析简述常用的属性格式解析运行效果: ![在这里插入图片描述]...

    Android Studio简介

    Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。
    在IDEA的基础上,Android Studio 增加了:

    • 基于Gradle的构建支持
    • Android 专属的重构和快速修复
    • 提示工具以捕获性能、可用性、版本兼容性等问题
    • 支持ProGuard 和应用签名
    • 基于模板的向导来生成常用的 Android 应用设计和组件
    • 功能强大的布局编辑器,可以让你拖拉 UI 控件并进行效果预览

    Android Studio七大布局

    在设计的时候,我们可以根据要设计的程序,采用适合的布局,在Android中有七大布局,分别是:

    • LinearLayout(线性布局)
    • RelativeLayout(相对布局)
    • TableLayout(表格布局)
    • FrameLayout(帧布局)
    • AbsoluteLayout(绝对布局)
    • GridLayout(网格布局)
    • ConstraintLayout(约束布局)

    目前android最新的默认布局是ConstraintLayout(约束布局)
    AbsoluteLayout(绝对布局) 是被吐槽最多的,因为屏幕大小兼容问题

    GridLayout(网格布局)解析

    其他布局的解析可以看我的博客的其他文章。

    简述

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

    1. 可以设置布局中组件的排列方式。
    2. 任意自定义网格布局的行列。
    3. 可以直接设置组件位于某行某列。
    4. 可以设置组件横跨几行或者几列。
    常用的属性格式解析
    <GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/GridLayout1"
        //设置表格id
        android:layout_width="fill_parent"
        //网格布局宽度为填满屏幕
        android:layout_height="wrap_content"
        //网格布局高度为包裹内容
        android:columnCount="4"
        //网格布局设置 4 列
        android:orientation="horizontal"
        //网格布局设置为水平布局
        android:rowCount="6"
        //网格布局设置 6 行
        >
    </GridLayout>
    

    设置排列对齐
    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列

    计算器代码示例:

    <?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:rowCount="6">
    
        <TextView
            android:layout_columnSpan="4"
            android:layout_gravity="fill"
            android:layout_width="0dp"
    
            android:background="#D1D1D1"
            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:text="+"
            android:layout_gravity="fill" />
    
        <Button
            android:text="1"
            android:layout_gravity="fill" />
    
        <Button
    
            android:text="2"
            android:layout_gravity="fill" />
    
        <Button
    
            android:text="3"
            android:layout_gravity="fill" />
    
        <Button
    
            android:text="-"
            android:layout_gravity="fill" />
    
        <Button
            android:text="4"
            android:layout_gravity="fill" />
    
        <Button
            android:text="5"
            android:layout_gravity="fill" />
    
        <Button
            android:text="6"
            android:layout_gravity="fill" />
    
        <Button
            android:text="*"
            android:layout_gravity="fill" />
    
        <Button
            android:text="7"
            android:layout_gravity="fill" />
    
        <Button
            android:text="8"
            android:layout_gravity="fill" />
    
        <Button
            android:text="9"
            android:layout_gravity="fill" />
    
        <Button
            android:text="/"
            android:layout_gravity="fill" />
    
        <Button
    
            android:text="."
            android:layout_gravity="fill" />
    
        <Button
            android:text="0"
            android:layout_gravity="fill" />
    
        <Button
            android:text="="
            android:layout_gravity="fill" />
    
    
    </GridLayout>
    
    

    运行效果:
    在这里插入图片描述

    我是ots-luo,码字不易,写教程也不易,如果觉得文章不错,可以点赞评论,感谢支持!!


    更多文章记得关注我的博客
    网站文章对应:点击传送

    展开全文
  • &lt;...GridLayout xmlns:android="http://schemas.android.com/apk/res/androidandroid:layout_width="match_parent" android:layout_height="match_parent&quo
    <?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="5"
        android:columnCount="4"
        >




        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" 1 "
            />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" 2 "
            />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" 3 "
            />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" /  "


            />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" 4 "
            />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" 5 "
            />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" 6 "
            />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" x "
            />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" 7 "
            />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" 8 "
            />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" 9 "
            />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" - "
            />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" 0 "
            android:layout_columnSpan="2"
            android:layout_gravity="fill_horizontal"
            />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" . "
            />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" + "
            android:layout_rowSpan="2"
            android:layout_gravity="fill_vertical"
            />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="   =   "
            android:layout_columnSpan="3"
            android:layout_gravity="fill_horizontal"
            />
    <Space />
    </GridLayout>
    展开全文
  • 网格布局管理器是 Android 4.0以后新增加的布局管理器。网格布局管理器将容器划分为行x列的网格,每个控件置于网格中,当然也可以通过设置相关属性使一个控件占据多行或多列. GridLayout 实例及属性详解 ...

    网格布局管理器是 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_rowSpan和android∶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://pan.baidu.com/s/1ExoSxaQRdjmwUUnDuSbUIQ 
    提取码:43ka 

    展开全文
  • android studio线性布局 LinearLayout

    万次阅读 多人点赞 2018-10-11 23:03:14
    Android六大基本布局分别是:线性布局LinearLayout、表格布局TableLayout、相对布局RelativeLayout、层布局FrameLayout、绝对布局AbsoluteLayout、网格布局GridLayout。 在android开发中,用的相对频繁的是线性布局...

    Android六大基本布局分别是:线性布局LinearLayout、表格布局TableLayout、相对布局RelativeLayout、层布局FrameLayout、绝对布局AbsoluteLayout、网格布局GridLayout。 在android开发中,用的相对频繁的是线性布局和相对布局,在大多数的情况下使用这两种布局都能完成。

    一、线性布局LinearLayout最常用的属性有:

    • android:id :定义布局id,即标识符,可以通过id来找到该布局或者控件
    • android :layout_width :布局宽度,有match_parent ,wrap_content,fill_paren
    • android:layout_height :布局高度,有match_parent,wrap_content,fill_paren
    • android:background :设置布局的背景,可以用颜色,也可以使用图片,颜色常以六位的十六进制表示
    • android:layout_margin :外边距,布局或控件距离外部元素的边距
    • android:layout_padding :内边距,布局或控件距离内部元素的边距
    • android:orientation :布局方向,水平布局horizontal,垂直布局vertical
    • android:layout_weight:权重,除了被显示占据的空间以外的的空间,然后根据权重的大小来分配空间,使用权重通常会把分配该权                                     重方向的宽度设置为0dp,如果未设置0dp,则该控件会占据指定的宽度,然后再加上根据权重来分配的空间

    二、相关的例子 

    首先创建一个空间,宽度为200dp,高度为200dp,背景颜色为黑色,android:id="@+id/ll_1"为为这个空间取名为ll_1

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        tools:context=".MainActivity"
        tools:showIn="@layout/activity_main"
        android:background="@drawable/ic_launcher_background"
        android:orientation="vertical">
        <LinearLayout
            android:id="@+id/ll_1"
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:orientation="vertical"
            android:background="#090909">
        </LinearLayout>
    
    </LinearLayout>

    对应的界面如下:

    大小为200dp的正方形黑色空间

    然后再内部将该空间平分:在使用布局时,在父类ll_1布局中加入android:orientation="vertical",使得空间内的其他布局或者组件垂直排列。方法一使用明确的高度来均分空间,方法二使用权重来分配空间,因为为垂直排列,所以高度设置为0dp。需要说明一下,之所以使用dp来做单位,是为了适应手机的不同分辨率。

    第一个空间ll_2使用了用图片作为背景的方法,android:id="@+id/ll_1"为取id名为ll_1,而android:id="@drawable/img01"为引用drawable目录下的名字为img01的图片

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        tools:context=".MainActivity"
        tools:showIn="@layout/activity_main"
        android:background="@drawable/ic_launcher_background"
        android:orientation="vertical">
        <LinearLayout
            android:id="@+id/ll_1"
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:orientation="vertical"
            android:background="#090909">
            <!--方法一-->
            <!--<LinearLayout-->
                <!--android:id="@+id/ll_2"-->
                <!--android:layout_width="match_parent"-->
                <!--android:layout_height="100dp"-->
                <!--android:background="#ffffff">-->
    
            <!--</LinearLayout>-->
            <!--<LinearLayout-->
                <!--android:id="@+id/ll_3"-->
                <!--android:layout_width="match_parent"-->
                <!--android:layout_height="100dp"-->
                <!--android:background="#FFEC8B">-->
    
            <!--</LinearLayout>-->
            <!--方法二,使用权重的方法-->
            <LinearLayout
                android:id="@+id/ll_2"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:orientation="vertical"
                android:background="@drawable/img01"></LinearLayout>
            <LinearLayout
                android:id="@+id/ll_3"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:orientation="vertical"
                android:layout_weight="1">
    
            </LinearLayout>
        </LinearLayout>
    
    </LinearLayout>

    如果将方法二中的ll_3空间的高度设置为android:layout_height="100dp",那么此空间会首先占据100dp的高度,然后在300dp的高度中均分,所以结果为:

    然后是内边距和外边距,简单来说内边距(padding)就是父类的容器里面的元素距离父类边界的距离,而外边距(margin)则是两个容器之间的距离。

    <LinearLayout
                android:id="@+id/ll_3"
                android:layout_width="match_parent"
                android:layout_height="100dp"
                android:layout_weight="1"
                android:orientation="vertical"
                android:padding="10dp ">
                   <TextView
                        android:id="@+id/tx1"
                        android:layout_width="100dp"
                        android:layout_height="100dp"
                        android:background="#FFB90F"
                        android:text="tx1"
                        />
                    <TextView
                        android:id="@+id/tx2"
                        android:layout_width="30dp"
                        android:layout_height="30dp"
                        android:background="#FAFAD2"
                        android:layout_marginTop="10dp"
                        android:text="tx2"/>
            </LinearLayout>

    可以看到tx1容器相距父容器ll_3的顶部和右部有10dp的宽度。而tx2因为设置了android:layout_marginTop="10dp",所以与tx2容器有间隔为10dp的距离。显而,如果改变tx2的高度为200dp,tx2的高度也不会改变,始终会与ll_3的底部有10dp的距离,这是由于ll_3容器中设置了android:padding="10dp "。使得ll_3容器内的元素距离它的边界都有10dp的距离。

    padding可以用margin来替换,比如在ll_3中设置了android:paddingTop="10dp ",可以使tx2的顶部距离ll_3容器的顶部10dp,也可以在tx1中设置  android:layout_marginTop="10dp",使得tx1容器与外边距离l_3容器10dp。

    ①设置一个构件的布局为fill_parent将强制性地使构件扩展,以填充布局单元内尽可能多的空间。

    ②设置一个视图的尺寸为wrap_content将强制性地使视图扩展以显示全部内容。以TextView和ImageView控件为例,设置为wrap_content将完整显示其内部的文本和图像。布局元素将根据内容更改大小。

    ③Android2.2中match_parentfill_parent是一个意思 .两个参数意思一样,match_parent更贴切,于是从2.2开始两个词都可以用。那么如果考虑低版本的使用情况你就需要用fill_parent了 

    所以,多加练习就能记住LinearLayout的属性。并且这些属性在很多布局都适用,除了android:orientation属性

     

    终于写完了第一篇博客,٩(๑>◡<๑)۶!!!!!

    展开全文
  • 刚开始接触android开发,还在摸索基础控件。老师说解决了一个问题就要记录下来以防以后遗忘,所以这里小小记录一下碰到的问题。 课本上的一道题目:怎么将界面等比分为三...网格布局中"android:layout_weight"属性...
  • AndroidStudio布局

    2017-07-14 00:15:29
    今天给大家分享AndroidStudio里的布局:LinearLayout(线性布局)、FrameLayout(桢布局)、TableLayout(表格布局)、AbsoluteLayout(绝对布局)、RelativeLayout(相对布局)、GridLayout(网格布局)、RTL(从左到右的布局)。...
  • Android4.0之前,我们通常说Android开发五大布局和四大组件,这五大布局就是: LinearLayout 线性布局FrameLayout 单帧布局,也有中文翻译为帧布局、框架布局。RelativeLayout 相对布局Abs...
  • 使用网格布局管理器时,考虑分成三列会使对话框图片太小,不适合浏览,故分为六列,通过layout_columnSpan设置跨度,使页面更美观。 使用表格布局管理器在左侧和右侧添加空白列的原因: 需要让中间部分允许被拉伸,...
  • LinearLayout:线性布局管理器 TableLayout:表格布局管理器 RelativeLayout:相对布局管理器(Android studio默认的布局管理) ...GridLayout:网格布局管理器 转载于:https://www.cnblogs....
  • 简单学习后的一个简单项目,属于小相册的另一种形式表现。 话不多说,上代码: ...import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.ViewGroup; imp...
  • Android Studio的6大布局

    2018-09-12 08:44:20
    Android中有六大布局,分别是:LinearLayout(线性布局),RelativeLayout(相对布局),TableLayout(表格布局)FrameLayout(帧布局),AbsoluteLayout(绝对布局) ),GridLayout(网格布局)而今天我们要讲解的...
  • 利用android studio GridLayout网格布局设计制作简易的计算器详细版【精选收藏】Android Studio简介设计思路上代码 Android Studio简介 Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. ...
  • Android中常用的布局方式有以下几种: 线性布局LinearLayout 相对布局RelativeLayout ...网格布局android 4.0后新增的布局。 (一)线性布局LinearLayout 线性布局中最重要的属性:orientation h
  • 本博文是Android程序设计的初级阶段,主要采用网格布局搭建计算器界面。博文需要Andrio Studio并且有会成功跑hello world的基础,如果不会,下面mooc链接传送给你:20分钟即可学会的那种!
  • Android学习笔记2-11-1~2-11-4 推荐新手向学习视频:B站https://www.bilibili.com/video/av38409964点我传送 2-11-1 RecyclerView(一) RecyclerVie能够灵活实现大数据集的展示,视图和复用管理比ListView更好...
  • 目的:采用网格布局,实现计算器的简单功能 开发工具:Android Studio3.3.2 开发环境: 实现过程: 第一步,创建一个Android项目,在这我把项目命名为MyApplication。 第二步,打开MyApplication/app/src/...
  • 5.4网格布局.pptx

    2019-05-17 22:06:55
    这是一个android开发的网格布局介绍,含代码和实例,基于android studio平台

空空如也

空空如也

1 2 3 4 5
收藏数 88
精华内容 35
关键字:

androidstudio网格布局