Layout(译)

布局是App用户界面的可视化结构,如活动,App widget的Ui。有两种定义方式:

1. 在XML中定义UI元素。

2. 在源码中实例化布局元素。

Android系统在声明和管理Ui上提供了很大的灵活性。例如,在XML中声明应用的默认布局,包括屏幕元素及其属性。你也可以在应用中添加代码改变这些屏幕元素的状态,改变这些在XML中声明的元素。

在XML中声明UI的好处是将UI的变现形式与行为分离。UI独立于应用程序之外。本文旨在使用XML来声明布局。

通常, XML中的词汇通常对应类和方法的名字,元素名对应类名,而属性对应方法。该匹配方式的好处在于你可以从XML的属性猜出他对应的是哪个方法。当然,也存在一些轻微不匹配的情况,例如EditText中的text对应的是setText方法。

编写XML

使用XML词汇,你可以设计UI布局,包含界面元素,嵌套元素,类似于Html。

每个布局文件有一个根元素,必须是View或VIewGroup。定义好根元素之后,你可以继续添加布局对象或widget作为子元素来慢慢地充实你的布局。

加载XML资源

当你编译应用程序,每个XML布局文件都被变异成一个View资源。你需要将这些布局资源加载到代码中。通过setContentView方法将资源传递给活动。

属性

每个View或ViewGroup对象支持各自的XML属性。一些属性是View对象特有的(TextView的TextSize属性),当然这些属性会被继承如果你继承了这些View对象。由于都继承于View类型,一些属性是所有view对象都有的。其他的属性被称作是”布局参数“,这些属性描述了一些View对象布局方向,在ViewGroup中定义。

布局参数

XML布局属性定义了布局内的View的布局属性。例如LinerLayout有view,view需要设定布局参数来告诉布局他的布局属性,比如位置,大小等

每个ViewGroup都需要实现内部类ViewGroup.LayoutParams。该子类需要定义子View的大小和位置来作为合适的ViewGroup。

 

posted on 2015-04-28 17:06  青崖绿舟  阅读(253)  评论(0)    收藏  举报

导航