【第22期】观点:IT 行业加班,到底有没有价值?

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

原创 2015年11月19日 20:42:34

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]

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

二〇一五

2014.12.26 – 2015.12.14 四季过后,又一年将如期而至。本能的忽略个人的不靠谱等方面,先给对这一年开始时的希望 – “希望能在平凡的地方做好更加平凡的事情”的执行度打50分。1 ...

布局之AndroidManifest.xml属性说明

http://blog.csdn.net/super005/article/details/6307406 android:allowTaskReparenting  是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务。  ---------------...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

xml布局文件常用属性

a)、第一类:属性值为true或false   android:layout_centerHrizontal 水平居中   android:layout_centerVertical 垂直居中   a...

android xml常规布局属性

Android开发---xml布局文件中的常见属性总结 android:id="@+id/aa"意思就是设置这个控件的id为aa,“+”表示把这个id注册到gen/.../R.java中,方便到代码中用R.id.aa进行调用。

2.Android开发---xml布局文件中的常见属性总结

android:id="@+id/aa"意思就是设置这个控件的id为aa,“+”表示把这个id注册到gen/.../R.java中,方便到代码中用R.id.aa进行调用。 android:text="@string/aa"意思是将控件的文本信息设置为res/...
  • mmdev
  • mmdev
  • 2012-07-05 06:03
  • 361
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)