常用布局管理器详解-UI界面设计自适应

常用布局管理器详解-结合开发文档docs

      • 常用的布局管理器
        • 1.RelativeLayout
          • 子类的使用方法是:
        • 2.LinearLayout
          • 将放入其中的组件按照垂直或水平的方向排列的:
        • 3.FrameLayout
        • 4.TableLayout
        • 5.GridLayout
    • 23.布局管理器的嵌套

适用于"所有分辨率屏幕"的解决方法——使用布局管理器

常用的布局管理器

  1. RelativeLayout(相对布局管理器)
  2. LinearLayout(线性布局管理器)
  3. FrameLayout(帧布局管理器)
  4. TableLayout(表格布局管理器)
  5. GridLayout(网格布局管理器)
  6. {过期}AbsoluteLayout(绝对布局管理器)【绝对位置布局——不利于屏幕自适应】

1.RelativeLayout

选定一个参考点(父容器/兄弟组件),其他组件相对于此参考点布局

属性 释义 固定写法
xmlns:android=“网址” 表示android命名空间 固定写法
xmlns:tools=“网址” 表示tools命名空间 可删除
android:gravity 设置布局管理器中各子组件的摆放方式 docs文档有标识
android:ignoregravity 设置哪项组件不受上述属性的影响

相对布局管理器的内部类RelativeLayout.LayoutParams

网址https://developer.android.com/reference/android/widget/RelativeLayout.LayoutParams?hl=en

属性 释义 说明
android:layout_above 以下四个属性用于指定组件相对于参考位置的属性
android:layout_below
android:layout_toLeftOf
android:layout_toRightOf
android:layout_alignParentBottom 以下四个属性设置组件与父容器左-右-底-顶对齐
android:layout_alignParentLeft
android:layout_alignParentRight
android:layout_alignParentTop
android:layout_alignBottom 以下四个属性设置组件与某个组件左-右-底-顶对齐
android:layout_alignLeft
android:layout_alignRight
android:layout_alignTop
子类的使用方法是:
  • 在子组件文件中添加上述属性
  • 属性值为@+id
  • 或者,true

2.LinearLayout

将放入其中的组件按照垂直或水平的方向排列的:

垂直排列:组件1-组件2-组件3……,从上到下;【vertical】

水平排列:组件1-组件2-组件3……,从左到右;【horizontal】

  • 注意:当组件一个挨着一个排列到末端边缘时,剩下的组件是不会显示出来的

参考文档:LinearLayout

属性 释义 说明
android:orientation 设置组件排列方式 属性值是vertical/horizontal
android:gravity 设置显示位置

3.FrameLayout

实现层叠放置组件

  • 实现层叠效果——例如,拖动兔子
属性 释义 说明
android:foregroundGravity 设置前景图像的位置
android:foreground 设置前景图像 应该是view类的XML属性,反义词是android:background

4.TableLayout

网址

表格的

  • 行,有几个表示有几行
  • 列<任意组件>,有几个表示有几列

collapse Columns——折叠列(隐藏)

stretch Columns——拉伸(自适应变长)
shrink Columns——收缩()

  • 以上属性值都是列的序号,从第0列开始数
  • 多列使用逗号隔开,“0,3”

5.GridLayout

  1. 网格布局管理器(更灵活)>=表格布局管理器

  2. 表格布局管理器只能跨列显示,但是网格布局管理器即可跨行业可跨列

  3. 表格布局管理器中内容超出部分不会显示,但是网格布局管理器会显示

属性 释义 说明
android:columnCount
android:orientation
android:rowCount

android:layout_column
android:layout_columnSpan
android:layout_columnWeight
android:layout_gravity
android:layout_row
android:layout_rowSpan
android:layout_rowWeight

23.布局管理器的嵌套

  1. 根布局管理器必须包含xmlns属性;
  2. 在一个布局文件中,最多只能有一个根布局管理器,如果需要有多个还需要使用一个根布局管理器将它们括起来;也就是根布局管理器不能是并列关系,而是子项并列关系
  3. 不能嵌套太深,否则效率低下

你可能感兴趣的:(常用布局管理器详解-UI界面设计自适应)