赞
踩
Android六种布局:
1. 线性布局(LinearLayout) 按照垂直或者水平方向布局的组件
2. 帧布局(FrameLayout) 组件从屏幕左上方布局组件
3. 表格布局(TableLayout) 按照行列方式布局组件
4. 绝对布局(AbsoluteLayout) 按照绝对坐标来布局组件
5. 相对布局(RelativeLayout) 相对其它组件的布局方式
6. 约束布局 (ConstraintLayout) 按照约束布局组件
注: wrap_content: 表示该组件的大小与内容自适应
match_parent: 表示该组件的大小与父组件大小一致
1. 线性布局(LinearLayout)
线性布局,有两种排法:
从左到右
android:orientation=”horizontal”
从上到下
android:orientation=”vertical”
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical" >
- <!--vertical: 垂直的方式排列-->
-
-
- <Button
- android:id="@+id/button"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="Button" />
-
- <Button
- android:id="@+id/button2"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="Button" />
-
- <Button
- android:id="@+id/button3"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="Button" />
-
- <Button
- android:id="@+id/button4"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="Button" />
-
- <Button
- android:id="@+id/button6"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="Button" />
-
- <Button
- android:id="@+id/button7"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="Button" />
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="horizontal">
- <!--纵向水平布局-->
-
- <Button
- android:id="@+id/button12"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="Button" />
-
- <Button
- android:id="@+id/button15"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="Button" />
-
- <Button
- android:id="@+id/button13"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="Button" />
-
- <Button
- android:id="@+id/button14"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="Button" />
-
- <Button
- android:id="@+id/button11"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="Button" />
- </LinearLayout>
-
- </LinearLayout>
以上是由一个全局的 垂直(vertical)线性布局 以及一个局部的 横向(horizontal)线性布局 组成
2. 帧布局(FrameLayout)
帧布局会按照添加顺序层叠在一起,默认层叠在左上角位置.
- <?xml version="1.0" encoding="utf-8"?>
- <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <ImageButton
- android:id="@+id/imageButton"
- android:layout_width="320dp"
- android:layout_height="302dp"
- app:srcCompat="@android:color/background_dark" />
-
- <ImageButton
- android:id="@+id/imageButton2"
- android:layout_width="267dp"
- android:layout_height="255dp"
- app:srcCompat="@android:color/holo_red_dark" />
-
- <ImageButton
- android:id="@+id/imageButton3"
- android:layout_width="211dp"
- android:layout_height="198dp"
- app:srcCompat="@android:color/holo_blue_dark" />
-
- <ImageButton
- android:id="@+id/imageButton4"
- android:layout_width="156dp"
- android:layout_height="138dp"
- app:srcCompat="@android:color/holo_green_dark" />
- </FrameLayout>
3. 表格布局(TableLayout)
- <?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="wrap_content">
-
- <Button
- android:layout_weight="wrap_content"
- android:layout_height="wrap_content"
- android:text="站表格的一行"/>
- <TableRow>
- <!--Tablerow 表示单独行在,在单独行内有以下对象-->
- <Button
- android:layout_weight="wrap_content"
- android:layout_height="wrap_content"
- android:text="对象1"/>
- <Button
- android:layout_weight="wrap_content"
- android:layout_height="wrap_content"
- android:text="对象2"/>
- <Button
- android:layout_weight="wrap_content"
- android:layout_height="wrap_content"
- android:text="对象3"/>
-
- </TableRow>
-
- </TableLayout>
TableLayout常用的属性:
android:layout_column 表示当前控件在第几列
android:layout_span 表示合并单元格个数
4. 绝对布局(AbsoluteLayout)
注: 难以实现多分辨率适配,不建议使用,在非定制需求项目,无需了解使用。
原因:需要对应运行的系统上的设备的对应分辨率来设置 布局的大小以及控件的坐标位置
5. 相对布局(RelativeLayout)
有三种不同表示是方式的属性
属性值是true或false
android:layout_centerHrizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInparent 相对于父元素完全居中。
android:layout_alignParentBottom 位于父元素的下边缘
android:layout_alignParentTop 位于父元素的上边缘
android:layout_alignParentLeft 位于父元素的左边缘
android:layout_alignParentRight 位于父元素的右边缘
属性值是”@id/*“
android:layout_below 在某元素的下方
android:layout_above 在某元素的上方
andorid:layout_toRightOf 在某元素的右方
android:layout_toLeftOf 在某元素的左方
android:layout_alignBottom 和某元素下方对齐
android:layout_alignTop 和某元素上方对齐
android:layout_alignRight 和某元素右方对齐
android:layout_alignLeft 和某元素左方对齐
属性值是数值
android:layout_marginLeft 离某元素左边缘的距离
android:layout_marginRight 离某元素右边缘的距离
android:layout_marginTop 离某元素上边缘的距离
android:layout_marginBottom 离某元素下边缘的距离
以上三种,最常用的是第一第二种.
- <?xml version="1.0" encoding="utf-8"?>
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-
-
- <TextView
- android:id="@+id/textView3"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="1"
- android:textAllCaps="false"
- android:textColor="#0EBDAC"
- android:textSize="64sp"
- android:textStyle="bold"/>
-
- <TextView
- android:id="@+id/textView4"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentRight="true"
- android:text="2"
- android:textColor="#2196F3"
- android:textSize="64" />
-
- <TextView
- android:id="@+id/textView5"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
- android:text="3"
- android:textColor="#E91E63"
- android:textSize="64"
- tools:text="3" />
-
- <TextView
- android:id="@+id/textView6"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
- android:layout_alignParentRight="true"
- android:text="4"
- android:textColor="#FFEB3B"
- android:textSize="64"/>
-
- <TextView
- android:id="@+id/textView7"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_centerInParent="true"
- android:text="5"
- android:textColor="#673AB7"
- android:textSize="64" />
-
- <TextView
- android:id="@+id/textView8"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_toRightOf="@+id/textView7"
- android:layout_alignBottom="@+id/textView7"
- android:text="6"
- android:textColor="#3F51B5"
- android:textSize="64" />
-
- <TextView
- android:id="@+id/textView9"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_toLeftOf="@+id/textView7"
- android:layout_alignTop="@+id/textView7"
- android:text="7"
- android:textColor="#FA030303"
- android:textSize="64" />
- </RelativeLayout>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。