WEB开发网
开发学院手机开发Android 开发 做 Android layout 达人 阅读

做 Android layout 达人

 2011-01-11 07:28:32 来源:WEB开发网   
核心提示:做 Android layout 达人LinearLayout 、FrameLayout、RelativeLayout是 Android界面布局中使用得最多的三种方式,本文主要讨论 :(1) 三者的特点和重要属性参数(2) Android 2.2 移植到 Android 1.5时,做 Android layout 达人

Android layout 达人

LinearLayout 、FrameLayout、RelativeLayout是 Android界面布局中使用得最多的三种方式,

本文主要讨论 :(1) 三者的特点和重要属性参数

(2) Android 2.2 移植到 Android 1.5时, 涉及的界面开发tips

Layout 属性总结和比较

FrameLayout 和 LinearLayout 的布局方式比较相似,

最大的区别在于 LinearLayout (线性布局)有一个 orientation 属性, 决定了Layout中元素在线性排布时的走向,该属性值分为 vertical 和 horizontal 两种,分别将布局方向设为 竖直方向和 水平方向

界面元素会自动按照 orientation 所指定的方向依次排布。

FrameLayout 没有这一属性,整个Layout更像一块画布,Layout内元素依靠 layout_gravity 属性进行排布。

需要注意的是,LinearLayout的 orientation 属性会对 layout_gravity 产生影响,

当它的值是 vertical时, layout_gravity 属性设置为 top 和 bottom 无效(因为Layout内元素从上到下依次排布)

同理,当它的值是 horizontal时, layout_gravity 属性 left 和 right 属性值无效。

另外, LinearLayout 比 FrameLayout 多了一个重要的属性 layout_weight ,通过指定各个元素的layout_weight,Layout内的各个元素会根据 layout_weight 的比值对空白区域进行填充,撑满某一行或某一列

RelativeLayout 和上述两种Layout的布局机制有所不同,

它没有layout_gravity、gravity 属性和 layout_weight属性

其内部的元素也无法设置 layout_gravity 属性和 layout_weight属性,

RelativeLayout 主要依靠内部元素的相对位置信息(元素之间的相对关系、相对Parent的位置关系)对元素进行排布

例如 anroid:layout_toRightOf = "@id/...." (元素之间的相对关系)

android:layout_alignParentRight = "true" (相对于Parent的位置)

android:layout_centerInParent = "true" 等

另外,用

android:layout_centerVertical="true" , android:layout_centerHorizontal="true" 来代替 layout_gravity的相应属性

分别使一个View 元素在父容器中竖直居中 和 水平居中。

以上三种 Layout 共有的重要属性

Padding 系列 ,如 paddingLeft 等,用于确定在一个view的内部,留出的空白区域,

1 2  下一页

Tags:Android layout

编辑录入:coldstar [复制链接] [打 印]
赞助商链接