返回顶部
首页 > 资讯 > 移动开发 >安卓开发---02 Android布局
  • 453
分享到

安卓开发---02 Android布局

android布局Android 2022-06-06 13:06:22 453人浏览 安东尼
摘要

FrameLayout(帧布局) LinearLayout(线性布局) GridLayout(网格布局) RelativeLayout(相对布局) 用的较少 AbsoluteLayout(绝对布局) TableLayout(表格

FrameLayout(帧布局) LinearLayout(线性布局) GridLayout(网格布局) RelativeLayout(相对布局) 用的较少 AbsoluteLayout(绝对布局) TableLayout(表格布局) 基本不用

1. 帧布局FrameLayout
帧布局是Android布局中最简单的一种,使用FrameLayout标签。
帧布局为每个加入其中的控件创建一个空白区域(称为一帧,每个控件占据一 帧)。釆用帧布局方式设计界面时,只能在屏幕左上角显示一个控件,如果添加多个控件,这些控件会按照顺序在屏幕的左上角重叠显示。

例子:使用帧布局添加不同大小的TextView,给不同的背景颜色看效果。
#ff33ffff  #ff33ccff   #ff3399ff   #ff3366ff   #ff3300ff
Layout_gravity

2.线性布局LinearLayout(解释权重)
四个极其重要的参数,直接决定元素的布局和位置

android:layout_gravity 本元素相对于父元素的重力方向
android:gravity 本元素所有子元素的重力方向
android:orientation 线性布局以列或行来显示内部子元素V H
android:layout_weight 子元素对未占用空间水平或垂直分配权重值

当 android:orientation="vertical"  时, 只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。
当 android:orientation="horizontal" 时, 只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。

android:layout_gravity 和 android:gravity 的区别

android:gravity对元素本身起作用-本身元素显示在什么位置
android:layout_gravity相对与它的父元素-元素显示在父元素的什么位置。
如:Button控件
android:layout_gravity 表示button在界面上的位置
android:gravity表示button上的字在button上的位置。
可选值[多选时用“|”分开] 
top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical。

3.网格布局GridLayout
GridLayout是Android4.0引入的网格布局,使用它可以减少布局嵌套。
GridLayout 使用属性:

android:columnCount	最大列数
android:rowCount	最大行数
android:orientation	GridLayout中子元素的布局方向

item属性:

android:layout_column	指定该单元格在第几列显示
android:layout_row	指定该单元格在第几行显示
android:layout_columnSpan	指定该单元格占据的列数
android:layout_rowSpan	指定该单元格占据的行数
android:layout_gravity	指定该单元格在容器中的位置
android:layout_columnWeight	(api21加入)列权重
android:layout_rowWeight	(API21加入) 行权重

4. 相对布局RelativeLayout

当界面比较复杂的时候,需要嵌套多层的 LinearLayout,这样就会降低UI Render的效率(渲染速度),而且如果是listview或者GridView上的 item,效率会更低,另外太多层LinearLayout嵌套会占用更多的系统资源,还有可能引发stackoverflow; 但是如果我们使用RelativeLayout的话,可能仅仅需要一层就可以完成了,以父容器或者兄弟组件参考+margin +padding就可以设置组件的显示位置。

第一类:属性值为true或false

android:layout_centerHorizontal              水平居中
android:layout_centerVertical                垂直居中
android:layout_centerInparent                相对于父元素完全居中
android:layout_alignParentBottom             贴紧父元素的下边缘
android:layout_alignParentLeft               贴紧父元素的左边缘
android:layout_alignParentRight              贴紧父元素的右边缘
android:layout_alignParentTop                贴紧父元素的上边缘
android:layout_alignWithParentIfMissing      如果对应的兄弟元素找不到的话就以父元素做参照物
android:layout_centerInParent="true"         相对父控件居中

第二类:属性值必须为id的引用名“@id/id-name” tv

android:layout_below   =‘@+id/XXX’           在某元素的下方   
android:layout_above                         在某元素的的上方
android:layout_toLeftOf                      在某元素的左边
android:layout_toRightOf                     在某元素的右边
android:layout_alignTop                本元素的上边缘和某元素的的上边缘对齐
android:layout_alignLeft               本元素的左边缘和某元素的的左边缘对齐
android:layout_alignBottom             本元素的下边缘和某元素的的下边缘对齐
android:layout_alignRight              本元素的右边缘和某元素的的右边缘对齐
例:    
        

5.绝对布局
layout_x:指定该子组件的X坐标。
layout_y:指定该子组件的Y坐标。


作者:南城阿宇


--结束END--

本文标题: 安卓开发---02 Android布局

本文链接: https://lsjlt.com/news/29399.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作