pAdPt_-8 XML布局文件的常用布局属性

来源:互联网 发布:数据交易呢主体 编辑:程序博客网 时间:2024/05/19 06:46

2015.11.19

看“Android.老罗”的笔记以为Android开发入门的好瓜笔记。

1. 布局

1.1 Android的布局方式

简单来说,Activity是布满整个窗口或悬浮于其它窗口上的交互界面。为了适应各种界面风格,Android提供了5种布局:
- FrameLayout - 框架(帧)布局
- LinearLayout - 线性布局
- RelativeLayout - 相对布局
- TableLayout - 表格布局
- AbsoluteLayout - 绝对布局
利用以上5种布局可在手机屏幕上随心所欲的摆放各种空件。

1.2 Android视图创建方式

在Android系统中,任何的可视化控件都是从android.view.View继承的。可以使用两种方法来创建视图:
- 使用XML布局文件方式配置View的相关属性,然后装载这些View。
- 完全使用java代码来创建View。

1.3 XML布局文件常用属性

所有的XML布局文件必须包含在res/layout目录中。xml文件的编写遵循Android的语法规定。以下介绍5种布局中的一些布局属性。

(1) 5种布局都包含的属性

长度表示方式
px - 屏幕实际像素;dp(dip) - 屏幕物理尺寸,大小为1英寸的1/72;sp(与刻度无关的像素) - 与dp类似,但是可以根据用户的字体大小首选项进行缩放。

长度设计技巧:如果设置表示长度、高度属性时可以使用dp或sp;但如果设置字体,需要使用sp;dp是与密度无关,sp除了跟密度无关外,还与scale无关;如果使用dp和sp,系统会根据屏幕密度的变化自动进行转换。

android:layout_margin*
控件边缘相对于父控件的边距。

padding*
控件内容相对于控件边缘的边距。

android:gravity和android:layout_gravity
android:gravity用于设置View组件的对齐方式(View视图的内容的对齐方式);android:layout_gravity用于设置Container组件(包含内容的组件)的对齐方式。

(2) LinearLayout布局

可嵌套定义,但不建议嵌套多层线性布局,加载这样的布局文件会比较耗时。
android:layout_width和android:layout_height

属性 描述 wrap_content 填满父控件的空白 fill_parent 表示大小刚好足够显示当前控件里的内容,安卓中的fill_parent和match_parent是一样的 match_parent 在Android 2.2中启用match_parent,不用fill_parent

android:layout_weight权重属性
用于给一个线性布局中的诸度视图的重要度赋值。所有视图的layout_weight的默认值为0 - 需要显示多大就显示多大的屏幕空间。若给视图的该属性赋予一个高于0的值,则将父视图中的可用空间分割,分割的大小取决于每一个视图的layout_weight值以及该值在当前屏幕布局的整体layout_weight值和在其它屏幕布局的layout_weight值中所占的比率而定。

(3) FrameLayout布局

框架布局是最简单的布局方式,所有添加到这个布局中的视图都是以层叠的方式显示。第一个添加到框架布局中的视图显示在最底层,最后一个被放在最顶层,上一层的视图会覆盖下一层的视图,因此框架布局类似堆栈布局。

属性 描述 top 将视图放到屏幕顶端白 buttom 将视图放到屏幕的底端 left 将视图放在屏幕的左侧 right 将视图放在屏幕的右侧 center_vertical 将视图按照垂直方向居中显示 horizontal_vertical 将视图按照水平方向居中显示

(4) RelativeLayout布局

此布局可以设置某一个视图相对于其他视图的位置,这些位置包括上下左右等。

属性 描述 android:layout_below 在某元素下方 android:layout_above 在某元素的上方 android:layout_toLeftOf 在某元素的左边 android:layout_toRightOf 在某元素的右边

(5) TableLayout布局

在布局中,一个列的宽度由该列中最宽的那个单元格指定,而表格的宽度是有父容器指定的。在此布局中可以设置3种属性:

属性 描述 Shrinkable 列宽度可以进行收缩,以使表格能够适应其父容器的大小 Stretchable 列宽度可以拉伸,以使填满表格中的空闲空间 Collapsed 列被隐藏

列可以同时具有Shrinkable和Stretchable属性,在这种情况下,该列宽度将任意拉伸或收缩以适应父容器。

TableLayout继承自LinearLayout类。除了继承来自父类的属性和方法,TableLayout还包含表格布局所特有的属性和方法。

属性 描述 android:collapseColumns 设置指定列好的列属性为Collapsed android:shrinkColumns 设置指定列好的列属性为Shrinkable android:strethcColumns 设置指定列号的列属性为Stretchable

TableLayout中的列序号是从0开始计算的。setShrinkAllColumns和setStretchAllColumns实现的功能是将表格中的所有列设置为
Shrinkable或Stretchable。

1.4 使用XML布局文件定义视图并将视图应用到活动中的步骤

[1] 所有的布局文件必须包含在res/layout目录中。xml文件的编写遵循Android的语法规定。
[2] 通常在活动中的onCreate()方法使用setContentView()方法来加载xml布局文件。
[3] 通过XML文件中的视图资源在R.java文件中生成的R类名访问具体的视图。

[2015.11.19 - 20:43]

0 0
原创粉丝点击