Android控件布局属性全解


原文链接: Android控件布局属性全解

Android控件布局属性全解

Android五种布局模式

  1. LinearLayout(线性布局)
    —— 从外框上可以理解为一个div,它首先是一个一个从上往下罗列在屏幕上。每 一个LinearLayout里面又可以分为垂直布局(android:orientation="vertical")和水平布局(android:orientation="horizontal")。当垂直布局是,每一行就只有一个元素,多个元素一次垂直往下排列;水平布局是,只有一行,每一个元素依次向右排列。
    ——重要属性:(android:layout_weight="1")这个weight在垂直布局时,表示行距;水平布局是,表示列宽。weigh值越大距离越大。
    TextView占一定的空间,没有赋值也有一定的宽高,要特别注意。

  2. FrameLayout(框架布局)
    ——最简单的一种布局方式。它被定制为屏幕上的一个空白备用区域,之后可以再其中填充一个单一对象(比如,一张要发布的图片)。所有的子元素将会固定在屏幕的左上角,不能为子元素指定位置。后一个子元素将会直接在前一个子元素智商进行覆盖填充,把前一个子元素部分或全部挡住(除非后一个子元素是透明的)。

  3. AbsoluteLayout(绝对布局)

  4. RelativeLayout(相对布局)

  5. TableLayout(表格布局)

FrameLayout
FrameLayout是最简单的一个布局对象。
它被定制为你屏幕上的一个空白备用区域,之后你可以在其中填充一个单一对象
比如,一张你要发布的图片。所有的子元素将会固定在屏幕的左上角;
后一个子元素将会直接在前一个子元素之上进行覆盖填充,把它们部份或全部挡住(除非后一个子元素是透明的)。

LinearLayout
LinearLayout以你为它设置的垂直或水平的属性值,来排列所有的子元素。
所有的子元素都被堆放在其它元素之后,因此一个垂直列表的每一行只会有一个元素,而不管他们有多宽,
而一个水平列表将会只有一个行高.
LinearLayout还支持为单独的子元素指定weight 。好处就是允许子元素可以填充屏幕上的剩余空间。这也避免了在一个大屏幕中,一串小对象挤成一堆的情况,而是允许他们放大填充空白。
子元素指定一个 weight 值,剩余的空间就会按这些子元素指定的weight 比例分配给这些子元素。默认的 weight 值为0。例如,如果有三个文本框,其中两个指定了weight 值为1,那么,这两个文本框将等比例地放大,并填满剩余的空间,而第三个文本框不会放大。

RelativeLayout
RelativeLayout 允许子元素指定他们相对于其它元素或父元素的位置(通过ID 指定)。
因此,你可以以右对齐,或上下,或置于屏幕中央的形式来 排列两个元素。

TableLayout
TableLayout 将子元素的位置分配到行或列中。
一个TableLayout由许多的TableRow 组成,每个TableRow 都会定义一个 row





`