Android周学习Step By Step(4)--界面布局

相比.NET中的布局Android依然是略显麻烦,但是依然不妨碍他们有相似之处。Android中有四种不同的布局方式,下面一一叙述。

1.       FrameLayout

l  一个FrameLayout对象就好比一块在屏幕上提前预定好的空白区域,然后可以填充一些元素到里边,比方说一张图片等。需要注意的是,所有的元素都被放置在FrameLayout区域最左上的区域。而且无法为这些元素指定一个确切的位置。如果一个FrameLayout里边有多个子元素,那么后边的子元素的显示会重叠在前一个元素上。

l  FrameLayout布局和.NET中的背景图片的布局相似,比如窗体的背景,控件的背景等等,以左上为基准。有所不同的是如果.NET中的图片大小小于父容器的话,图片会重复显示。而Android中则是永远向左上角对齐,覆盖上一个子元素。

2.       LinearLayout

l  是一种Android中最常用的布局之一,它将自己包含的子元素按照一个方向进行排列。方向有两种,水平或者垂直。这个方向可以通过设置Androidorientation来实现,所有元素的排列都是一个接着一个的。如果是竖直排列,那么LinearLayout的元素就一个接着一个的从上到下竖直排列;如果是水平排列,那么就是LinearLayout里边的子元素从左到右一个一个的进行排列。

l  这种布局和asp.net中的页面布局很类似,都是子元素是一个挤着一个排列的。区别在于Android更明显的把竖直排列和水平排列分开,而asp.net中的则是通过“块元素”和“行元素”来控制排版的。一般情况下“块元素”是类似于Android的竖直排列,即从上到下一个一个排列;“行元素”则是类似于Android的水平排列。

3.       RelativeLayout

l  从类的名字上可以猜测出,这是一个相对布局类。即首先RelativeLayout是一个容器,它里边的元素,如Button按钮等的位置是按照相对位置来计算的,例如,有两个Button按钮都布局在一个relativeLayout里边,我们可以定义第二个Button在第一个Button的上边或者是右边。但到底第二个Button在什么位置呢,它还是依赖于第一个Button的位置。需要注意的是,出于性能上的考虑,对于相对布局的精确位置的计算只会执行依稀,所以,如果一个可视化组件B依赖于A,那么必须要让A出现在B的前边。

l  这种布局和CSS元素相对定位更是异曲同工了,没有啥可稀奇的。唯一有区别的是Android中的相对是相对别人的位置而言,而CSS相对定位是相对自己本来应该在的位置而言的。

4.       TableLayout

l  从字面上了解TableLayout是一种表格式的布局。这种布局会把包含的元素以行和列的形式进行排列。表格的列数为每一行的最大列数。当然表格里边的单元格是可以为空的。

l  这种布局和HTML中的table标签是及其类似的,暂时还没有找到明显的区别。

posted @ 2011-06-23 00:22  郗晓勇  阅读(500)  评论(0编辑  收藏  举报