zoukankan      html  css  js  c++  java
  • Android 学习笔记之界面布局

    界面布局

    表格布局(TableLayout)

    1. TableLayout 与 TableRow 中的子控件可不用设置宽和高,有默认值。

    2. 表格布局(TableLayout) 的主要属性:android.collapseColumns(隐藏 TableRow 中的某列)、android.stretchColumns(当某行填充不足时,指定某列或多列扩充)、android.shrinkColumns(当某行填充过足时,指定某列或多列收缩)。

    相对布局(RelativeLayout)

    1.在相对布局中,被作为参考点的控件必须被添加 id 。添加 id 属性的语法为:

    android:id = "@+id/自定义id名"

    2.使用 id 设置参考点的语法与添加 id 相同,如:

    android:layout_toRightof = "@+id/参考点id名"

    3.在使用 id 时,也可使用 @id/id名 的格式,但使用这种格式必须确保此前已声明过该 id ,而 @id/id名 格式则允许对应的 id 是在后续的语句中声明的。

    4.使用相对布局时,其同级的控件允许设置如下属性:
    <1>layout_below/layout_above:位于某控件下面/上面,取值为参考点控件 id;
    <2>layout_toLeftOf/layout_toRightOf:位于某控件左侧/右侧,取值为参考点控件 id;
    <3>layout_alignLeft/layout_alignTop/layout_alignRight/layout_alignButtom:位于某控件左侧/顶端/右侧/底部,取值为参考点控件 id;
    <4>layout_alignBaseline:位于某控件的基线对齐,取值为参考点控件 id;

    5.使用相对布局时,其下级的控件允许设置如下属性:
    <1>layout_alignParentLeft/layout_alignParentTop/layout_alignParentRight/layout_alignParentButtom:与父级的左侧/顶端/右侧/底部对齐,取值为 true 或 false;
    <2>layout_centerInParent/layout_centerHorizontal/layout_centerVertical:在父级中居中/水平居中/垂直居中,取值为 true 或 false;

    帧布局(FrameLayout)

    1. 帧布局的节点名称为 FrameLayout 。
    2. 在帧布局中,所有的控件都在左上角,而且任何有关位置的属性都是无效的。
    3. 在帧布局中,所有的控件全部堆叠在一起,后添加的控件会挡住之前添加的控件。
    4. 仅当后添加的控件尺寸小于之前添加的控件尺寸时,之前添加的控件才会被显示没有被遮挡的一部分。
    5. 帧布局通常需要结合程序代码运行,布局文件本身基本上无法体现实质意义。

    网格布局(GridLayout)

    (1)网格布局的节点名称为 GridLayout。

    (2)网格布局是 Android 4.0 新提供的网格形式的布局控件,如果项目版本偏低,则需要导入V7包才可以使用。

    (3)网格布局的原则是将各控件按照水平/垂直方向依次排列,当达到最大的行数/列数时,换到下一行/列继续显示。

    (4)GridLayout 的核心属性:
    <1>orientation:必要属性,表示控件的布局方向,取值为 horizontal 或 vertical;
    <2>columnCount:最大列数,取值为数值;
    <3>rowCount:最大行数,取值为数值。

    (5)在网格布局中,子控件可设置的属性有:
    <1>layout_column:控件位于第几列,取值为列的序号;
    <2>layout_row:控件位于第几行,取值为行的序号;
    <3>layout_columnSpan:合并几列,取值为需要合并的列的数量;
    <4>layout_rowSpan:合并几行,取值为需要合并的行的数量;
    <5>layout_gravity:控件的对齐方式,其中,较有特殊的取值有 fill_vertical 和 fill_horizontal,表示在可行的情况下在垂直/水平方向扩大该控件。

  • 相关阅读:
    关于接口是值类型还是引用类型的猜测
    絮语工作四年的碎碎念
    烧钱游戏加入创业公司的一些感想
    关于C#调用非托管动态库方式的性能疑问
    couchbase作为分布式session容器时的注意事项
    poj3624
    明天的下载链接
    poj 1502
    poj1459 多源多汇最大流
    poj 3041
  • 原文地址:https://www.cnblogs.com/gongchuangsu/p/4993221.html
Copyright © 2011-2022 走看看