文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

安卓开发---02 Android布局

2022-06-06 13:46

关注

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坐标。


作者:南城阿宇


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯