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。
浙公网安备 33010602011771号