Android开发之详解五大布局
来源:互联网 发布:dnf每隔几分钟网络中断 编辑:程序博客网 时间:2024/05/29 18:29
为了适应各式各样的界面风格,Android系统提供了5种布局,这5种布局分别是:
LinearLayout(线性布局)
TableLayout(表格布局)
RelativeLayout(相对布局)
AbsoluteLayout(绝对布局)
FrameLayout(框架布局)
利用这五种布局,可以在屏幕上将控件随心所欲的摆放,而且控件的大小和位置会随着屏幕大小的变化作出相应的调整。下面是这五个布局在View的继承体系中的关系:
在一个方向上(垂直或水平)对齐所有子元素
一个垂直列表每行将只有一个子元素(无论它们有多宽)
一个水平列表只是一列的高度(最高子元素的高度来填充)
下面是一个简单的线性布局的例子:
<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"> <EditTextandroid:text="EditText"android:id="@+id/editText1"android:layout_height="wrap_content"android:layout_width="fill_parent"> </EditText> <LinearLayoutandroid:id="@+id/linearLayout1"android:layout_height="fill_parent"android:layout_width="fill_parent"android:gravity="right"> <Buttonandroid:id="@+id/button2"android:text="Button"android:layout_width="wrap_content"android:layout_height="wrap_content"></Button> <Buttonandroid:text="Button"android:id="@+id/button1"android:layout_width="wrap_contentandroid:layout_height="wrap_content"></Button></LinearLayout> </LinearLayout>
最外层布局为垂直线性布局,宽度为整个屏幕(fill_parent),高度为刚好适合子控件(wrap_content)。然后依次添加一个EditText,一个水平布局的LinearLayout,在这个线性布局里面,摆放两个Button,该线性布局的gravity属性设置为”right”,所以里面的两个Button靠右显示。
下面介绍一下RelativeLayout用到的一些重要的属性:
第一类:属性值为true或false
android:layout_centerHrizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInparent 相对于父元素完全居中
android:layout_alignParentBottom 贴紧父元素的下边缘
android:layout_alignParentLeft 贴紧父元素的左边缘
android:layout_alignParentRight 贴紧父元素的右边缘
android:layout_alignParentTop 贴紧父元素的上边缘
android:layout_alignWithParentIfMissing 如果对应的兄弟元素找不到的话就以父元素做参照物
第二类:属性值必须为id的引用名“@id/id-name”
android:layout_below 在某元素的下方
android:layout_above 在某元素的的上方
android:layout_toLeftOf 在某元素的左边
android:layout_toRightOf 在某元素的右边
android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐
android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐
android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐
android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐
第三类:属性值为具体的像素值,如30dip,40px
android:layout_marginBottom 离某元素底边缘的距离
android:layout_marginLeft 离某元素左边缘的距离
android:layout_marginRight 离某元素右边缘的距离
android:layout_marginTop 离某元素上边缘的距离
来自 <http://bbs.chinaunix.net/thread-3654213-1-1.html>
- Android开发之详解五大布局
- Android开发之详解五大布局
- Android开发之详解五大布局
- Android开发之详解五大布局
- Android开发之详解五大布局
- Android开发之详解五大布局
- Android开发之详解五大布局
- Android开发之详解五大布局
- Android开发之详解五大布局
- Android开发之详解五大布局 --布局
- Android开发学习笔记之详解五大布局
- Android开发之--五大布局方式
- Android五大布局详解
- Android五大布局详解
- Android五大布局详解
- Android五大布局详解
- Android五大布局详解
- android五大布局详解
- 看不懂,悲剧
- 黑马程序员——Java基础组成
- 《统计学习方法》笔记(四)--k近邻法
- 用Pandas完成Excel中常见的任务(2)
- java Session管理
- Android开发之详解五大布局
- BZOJ 1513 POI2006 Tet-Tetris 3D 二维线段树
- Kinetis 使用eDMA完成串口接收功能
- cocoa编程第4版 8.5 挑战1 解答
- 关于UIView的autoresizingMask属性的研究
- 黑马程序员--OC基础--面向对象三大特征
- spring bean初始化和销毁
- java基础之java中的基本数据类型
- 自动布局之autoresizingMask使用详解(Storyboard&Code)