转载请注明原作者:@author:huanglei_jmr http://blog.sina.com.cn/u/3113060227
接下讲布局:注意复杂的布局我们不用activity代码来写,都写在xml中咯!
下面的每种布局我都在layout文件夹中建立一个android xml文件,来写布局,然后再main.activity中
//
//
但是讲布局之前要先讲一个重要的东西,是所有布局都拥有的LayoutParams
在每个布局的activity代码中我们都会看见一行这样的代码:TableLayout
TableLayout.LayoutParams
为什么要这样做呢?解释:LayoutParams相当于一个Layout的信息包,它封装了Layout的位置、高、宽等信息。假设在屏幕上一块区域是由一个Layout占领的,如果将一个View添加到一个Layout中(如将TextView添加到TableLayout
LayoutParams继承于Android.View.ViewGroup.LayoutParams
11:线性布局:LinearLayout
12:FrameLayout框架布局:框架布局管理器是将组件都放在屏幕的左上角,所有的组件是层叠显示的!什么叫层叠,有啥用:比如播放器页面上的播放箭头就是一个button层叠摆放的!
13:TableLayout(常用):在TableLayout中,我们也有对应的TableRow来表示表格的一行。但在Android中就不往下区分表格单元了,也就是没有相应的
。 <</SPAN>TableLayout xmlns:android="http://schemas.android.com/apk/res/android" <</SPAN>TableRow> 分割线-à 14: view标签:所有GUI的父类,可以表示任何的组件,下面的代码效果如HTML中的 元素效果,设置宽度是2dp,颜色为#FDF5E6 <</SPAN>View 15:RelativeLayout:相对布局管理器是基于一个参考点而言的布局管理器。就像Web开发中的相对路径的概念,是基于一定的参考点而创建的。在Android中的相对布局管理器就是在一个参考点的四周(上,下,左,右)布局的管理器。 怎么相对呢? 在某个组件中加上: 当然可以推测还有 在activity中就这样: 这种布局的好处是自己可以多调节,比如那个角落还有空就在哪个角落中用相对的布局来进行配置,可以设置上下左右的相对位置达到比较精确的放置位置! 16:AbsoluteLayout:绝对布局管理器。这和CSS中的定位布局是类似的。CSS中我们可以通过相对布局管理器对HTML元素进行布局,也可以通过绝对布局定位通过指定top,left等属性来为元素进行布局。而在Android之中,我们还有一个绝对布局管理器可以做到同样的效果。 android:layout_x="40dp" android:layout_y="10dp" 17:上面讲了这么多,终于讲到屌处了:布局管理器的嵌套 布局管理器的嵌套就是将多种布局管理器混合使用,以达到复杂布局的排版效果。如果一个布局页面效果复杂,可能使用一种布局管理器无法完成,那么我们就需要将多种布局管理器嵌套起来以达到显示效果。在Web开发中,编写的CSS基本都是设置嵌套元素的样式的,这个理念是类似的。 注意:在嵌套布局管理器时我们要注意设置各个布局管理器的layout_height为包裹高度,而不能设置成为填充屏幕,否则该布局管理器就会占据剩余屏幕整个内容,而其它的布局管理器将无法显示。 18:中级视图组件DatePicker和时间选择器TimePicker DatePicker是FrameLayout的子类,也就是说它的内部实现使用了框架布局,TimePicker也是。 上面我一直怀疑@+id/name 这后面的idname是不是应该有关键字的,比如,哦不对不对,是没有的,随意取得,究竟取那个组件还的看标签名 ,如<</SPAN>DatePicker 而不要靠id来识别组件类别! 上面布局就基本上讲完了!! |