控制方式:
xml布局(推荐),优点在于简单明了,契合MVC原则
在res/ layout 目录下定义任意文件名的XML布局文件后,就可以在代码中通过setContentView( R.layout.<资源文件名称> ); 的方式显示该视图
在布局文件中可以添加多个UI组件,并指定它们的android:id属性,然后通过findViewById( R.id.<id值> ); 来访问
代码布局
使用各种new来创建布局和UI组件
混合使用
将变化小、行为比较固定的组件放在XML中管理,变化多、行为控制比较复杂的用Java管理
开发自定义View
创建一个继承View的类,然后可以重写View的不同方法来实现不同功能,使用时可以在代码中new出来,或者在布局文件中直接添加这个类
UI组件
布局管理器ViewGroup
ViewGroup继承自View,用来管理组件的分布、大小
子类:
线性布局LinearLayout,各组件横向或纵向排列(通过android:orientation属性控制),不会换行
表格布局TableLayout(从LinearLayout继承),通过添加TableRow和其他组件来控制表格的行数和列数(同一TableLayout布局下,不同的TableRow组件有着同样的列数)
帧布局FrameLayout,将组件一个一个地叠加到一起,但不能改变组件的层级顺序
相对布局RelativeLayout,组件的位置总是相对容器或者兄弟组件来决定
网格布局GridLayout,将整个容器划分为网格,每个网格可以放置一个组件,也可以设置一个组件使用多列或多行
绝对布局AbsoluteLayout,所有组件的位置和大小都需要开发人员自己控制