Android布局管理器浅析

    在Android应用开发中,为了更好地管理Android应用的用户界面里的各组件,Android提供了布局管理器来实现Android应用的图形用户界面平台无关性,其中所有布局管理器的父类为ViewGroup。一般来说,推荐使用布局管理器来管理组件的分布、大小,而不是直接设置组件位置和大小。在开发当中,最常用的方法是预先设置好容器边距(分布)、大小,然后其包含的组件使用"fill_match"或"wrap_content"自动适应父容器即可。
一、LinearLayout线性布局
      LinearLayout布局管理器,即控制个组件横向/纵向排列(android:orientation属性控制)。需要注意的是,Android的线性布局不会换行,当组件一个挨着一个地排到头之后,剩下的组件将不会被显示出来。LinearLayout支持的常用XML属性。
(1)android:baselineAligned:该属性设置为false,将会阻止该布局管理器与它的子元素的基线对齐;
(2)android:divider:用于设置垂直布局时两个按钮之间的分隔条;
(3)android:gravity:用于设置LinearLayout(容器)所包含的所有子元素的对齐方式,如left|center_vertical代表所有子元素出现在屏幕左边,而且垂直居中。需要注意的是,一般容器才支持指定该属性;
(4)android:orientation:设置布局管理器内组件的排列方式,如vertical为垂直排列(默认值);
(5)android:measureWithLargestChild:当该属性设为true时,所有带权重的子元素都会具有最大元素的最小尺寸;
(6)android:layout_gravity:指定该子元素在LinearLayout(父容器)中的对齐方式(某个子元素相对于LinearLayout容器而言);
(7)android:layout_weight:指定该子元素在LinearLayout中所占的权重;
     理解:LinearLayout布局管理器支持指定所包含控件(widgets)或容器(containers)的填充权值,通过该属性实现填充屏幕上的剩余空间。避免了在一个大屏幕中,一串widgets或者是containers挤成一堆的情况,而是允许他们放大填充空白,剩余的空间会按这些widgets或者是containers指定的权值比例分配屏幕。默认的 weight 值为0,表示按照widgets或者是containers实际大小来显示,若高于0的值,则将Container剩余可用空间分割,分割大小具体取决于每一个widget或者是container的layout_weight及该权值在所有widgets或者是containers中的比例。如有两个文本,权值分别为2和1,那么剩余空间的2/3给权值为2的,1/3大小给权值为1的。

二、TableLayout表格布局
    TableLayout表格布局管理器继承于LinearLayout,其本质依然是线性布局管理器。表格布局采用行、列的形式来管理UI组件,TableLayout主要通过添加TableRow、其他主键来控制表格的行数和列数。即每次向TableLayout中添加一个TableRow(也为容器),就表示添加一行;向每个TableRow中添加其他子组件该表格就增加一列。
注意:在表格布局中,列的宽度由该列中最宽的那个单元格决定,整个表格布局的宽度则取决于父容器的宽度(默认沾满父容器)。TableLayout支持的常用XML属性如下:
(1)支持

你可能感兴趣的:(Android,UI设计,android,ui,应用,界面)