昨天学习了layout 布局的线性布局和相对布局。
今天我们学习剩余的三个布局,分别是:
一、帧布局(FrameLayout)
在这个布局中,所有的子元素都不能被指定放置的位置,它们通通放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。
注:帧布局和线性布局的区别
在大体上的用法等等两者还是很相似的。但是有一点两点的根本区别。
帧布局是有“深度”的,它只追求在这个点上去深入。
线性布局是有“广度”的,它是向外延展的,他就是一个“面”。
1 <?xml version="1.0" encoding="utf-8"?> 2 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" > 5 6 <TextView 7 android:id="@+id/textView1" 8 android:layout_width="300dp" 9 android:layout_height="300dp" 10 android:text="1" 11 android:background="#ff00ff"/> 12 13 <TextView 14 android:id="@+id/textView2" 15 android:layout_width="200dp" 16 android:layout_height="200dp" 17 android:text="2" 18 android:background="#00ffff" /> 19 20 <TextView 21 android:id="@+id/textView3" 22 android:layout_width="100dp" 23 android:layout_height="100dp" 24 android:background="#ff0000" 25 android:text="3" /> 26 27 </FrameLayout>
二、绝对布局(AbsoluteLayout)
1.absoluteLayout 又叫坐标布局,可以直接指定子元素的绝对位置(x,y)
2.由于手机屏幕尺寸差别比较大,使用绝对定位的适应性会比较差,在屏幕的适配上有缺陷
3.子控件的属性
android:layout_x="35dip" 控制当前子类控件的x位置
android:layout_y="35dip" 控制当前子类控件的y位置
注:建议最好不要使用绝对布局,我们手机屏幕大小不同,你用这个型号,这个大小的手机定位好的位置,当你换了个手机尺寸不一样的,就会将你的布局打乱,这样很不好。我在这就不演示了。记住,记住,最好不要使用,不利用开发。
三、表格布局(TableLayout)
表格布局类似于我们html 中的table 元素一样。
我们来看看他的属性。
接下来我们做个简单的表格布局的栗子来认识下这个表格布局。计算器
<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:stretchColumns="*" > <EditText android:layout_width="match_parent" android:layout_height="60dp" android:gravity="center_vertical|right" android:layout_weight="1"/> <TableRow android:layout_weight="1"> <Button android:id="@+id/btn7" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="7" /> <Button android:id="@+id/btn8" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="8" /> <Button android:id="@+id/btn9" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="9" /> <Button android:id="@+id/btnchu" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="/" /> </TableRow> <TableRow android:layout_weight="1"> <Button android:id="@+id/btn4" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="4" /> <Button android:id="@+id/btn5" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="5" /> <Button android:id="@+id/btn6" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="6" /> <Button android:id="@+id/btncheng" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="*" /> </TableRow> <TableRow android:layout_weight="1"> <Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="1" /> <Button android:id="@+id/btn2" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="2" /> <Button android:id="@+id/btn3" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="3" /> <Button android:id="@+id/btnjian" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="-" /> </TableRow> <TableRow android:layout_weight="1"> <Button android:id="@+id/btn0" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="0" /> <Button android:id="@+id/btndian" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="." /> <Button android:id="@+id/btnjia" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="+" /> <Button android:id="@+id/btndeng" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="=" /> </TableRow> <TableRow android:layout_weight="1"> <Button android:id="@+id/clear" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_span="4" android:text="clear" /> </TableRow> </TableLayout>
效果显示是这样的。
关于android 的 layout 布局,就暂时讲这些,关于这几大布局的属性,大家有空都可以去试试,多练习下布局的排布,综合起来,排布一个页面什么的。属性每个布局中的属性。
今天就先到这,欢迎大家一起学习。