安卓学习- 编写界面(页面布局详解)
2017-09-02 15:19
267 查看
1、线性布局
<?xml version="1.0"
encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button
1"
/>
</LinearLayout>
(1)排列方向:
android:orientation="horizontal"
水平
android:orientation="vertical"
垂直
(2)元素布局的对其方式:
对其方式,可选项为top、bottom、left、rirht、center,
中间可以用 | 来指定多个;
android:layout_gravity="bottom"
注意:如果是vertical,就只有水平上的对齐才会生效
(3)边距
android:layout_marginTop="10dp"
(4)比例权重
android:layout_weight="1"
在某一个方向上设置权重之后,原本的那个方向上的数量置为0dp
<Button
android:id="@+id/button_1"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="Button
1"
/>
<Button
android:id="@+id/button_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button
2"
/>
2、相对布局
(1)相对父布局
<Button
android:id="@+id/button_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:text="Button
1"
/>
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_centerInParent="true"
(2)相对控件布局
<Button
android:id="@+id/button_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Button
3"
/>
<Button
android:id="@+id/button_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/button_3"
android:layout_toLeftOf="@id/button_3"
android:text="Button
1"
/>
android:layout_below="@id/button_3"
android:layout_toRightOf="@id/button_3"
3、帧布局(略过)
FrameLayout
4、百分比布局(新增布局)(PercentFrameLayout,PercentRelativeLayout)
打开app/build.gradle,在dependencies闭包中添加如下内容:
dependencies {
compile fileTree(dir:
'libs',
include: ['*.jar'])
testCompile
'junit:junit:4.12'
compile
'com.android.support:appcompat-v7:24.2.1'
compile
'com.android.support:percent:24.2.1'
}
然后在布局中使用 PercentFrameLayout
<?xml version="1.0"
encoding="utf-8"?>
<android.support.percent.PercentFrameLayout
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">
<Button
android:id="@+id/button1"
android:text="Button
1"
android:layout_gravity="left|top"
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
/>
<Button
android:id="@+id/button2"
android:text="Button
2"
android:layout_gravity="right|top"
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
/>
<Button
android:id="@+id/button3"
android:text="Button
3"
android:layout_gravity="left|bottom"
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
/>
<Button
android:id="@+id/button4"
android:text="Button
4"
android:layout_gravity="right|bottom"
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
/>
</android.support.percent.PercentFrameLayout>
<?xml version="1.0"
encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button
1"
/>
</LinearLayout>
(1)排列方向:
android:orientation="horizontal"
水平
android:orientation="vertical"
垂直
(2)元素布局的对其方式:
对其方式,可选项为top、bottom、left、rirht、center,
中间可以用 | 来指定多个;
android:layout_gravity="bottom"
注意:如果是vertical,就只有水平上的对齐才会生效
(3)边距
android:layout_marginTop="10dp"
(4)比例权重
android:layout_weight="1"
在某一个方向上设置权重之后,原本的那个方向上的数量置为0dp
<Button
android:id="@+id/button_1"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="Button
1"
/>
<Button
android:id="@+id/button_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button
2"
/>
2、相对布局
(1)相对父布局
<Button
android:id="@+id/button_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:text="Button
1"
/>
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_centerInParent="true"
(2)相对控件布局
<Button
android:id="@+id/button_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Button
3"
/>
<Button
android:id="@+id/button_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/button_3"
android:layout_toLeftOf="@id/button_3"
android:text="Button
1"
/>
android:layout_below="@id/button_3"
android:layout_toRightOf="@id/button_3"
3、帧布局(略过)
FrameLayout
4、百分比布局(新增布局)(PercentFrameLayout,PercentRelativeLayout)
打开app/build.gradle,在dependencies闭包中添加如下内容:
dependencies {
compile fileTree(dir:
'libs',
include: ['*.jar'])
testCompile
'junit:junit:4.12'
compile
'com.android.support:appcompat-v7:24.2.1'
compile
'com.android.support:percent:24.2.1'
}
然后在布局中使用 PercentFrameLayout
<?xml version="1.0"
encoding="utf-8"?>
<android.support.percent.PercentFrameLayout
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">
<Button
android:id="@+id/button1"
android:text="Button
1"
android:layout_gravity="left|top"
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
/>
<Button
android:id="@+id/button2"
android:text="Button
2"
android:layout_gravity="right|top"
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
/>
<Button
android:id="@+id/button3"
android:text="Button
3"
android:layout_gravity="left|bottom"
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
/>
<Button
android:id="@+id/button4"
android:text="Button
4"
android:layout_gravity="right|bottom"
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
/>
</android.support.percent.PercentFrameLayout>
相关文章推荐
- 安卓学习笔记----界面的五大布局
- 安卓学习-界面-布局-GridLayout
- 安卓学习-界面-布局-FrameLayout
- 安卓几种界面布局的详解
- 利用布局简单编写一个安卓手机信息页面
- 安卓学习记录——(2.界面布局)
- 安卓学习第十七天:相对布局的初步使用与换源学习
- 安卓RecyclerView高阶使用详解(多套布局,加载更多,监听)
- vs2010 学习Silverlight学习笔记(4):界面布局
- xamarin学习之页面布局
- HTML+CSS编写静态网站-38 Vedio页面适配桌面布局
- 安卓案例:利用相对布局实现注册页面
- CSS3与页面布局学习总结(三)——BFC、定位、浮动、7种垂直居中方法
- 安卓学习-界面-XML-shap自定义图形
- Android界面布局学习总结
- 安卓学习-界面-ui-Notification
- [导入] 转[教程] 学习如何使用有趣的自定义标记来布局页面!
- 一步步学习SPD2010--第十三章节--管理SP Server环境的Web内容(9)--分离和重新关联页面布局
- 【2】安卓学习之控件和布局
- [安卓学习]AndroidManifest.xml文件内容详解