1.线性布局LinearLayout
android:orientation="horizontal"指定布局方向,水平排列,“vertical”垂直分布
android:layout_gravity控件在布局中的对其方式。
注意:当LinearLayout排列方向是horizontal时,对垂直方向上的对齐方式改变。当排列方式为vertical,只对水平方向的对齐方式才会生效。
android:layout_weight属性指定为1,表示EditText和Button将在水平方向平分宽度。
属性值表示将所有控件的weight值相加,相除的分子即为权值。
使用部分控件layout_weight实现更好的布局效果。使用wrap_content布局控件
2.相对布局RelativeLayout
(1).简单布局
android:layout_alignParentLeft父布局的左部
android:layout_alignParentTop父布局的顶部
android:layout_alignParentRight父布局的右部
android:layout_alignParentBottom父布局的底部
android:layout_centerInParent相对父布局居中
(2).复杂布局
android:layout_above在某个控件的上部
android:layout_below在某个控件下面
android:layout_toRightOf在某个控件的右方
android:layout_toLeftOf在某个控件的左方
android:layout_alignLeft一个控件的左边缘和另一个控件的左边缘对齐,同理还有layout_alignRight、layout_alignTop、layout_alignBottom
3.帧布局FrameLayout
此布局方式没有定位,所有的控件默认摆放在布局的左上角
android:layout_gravity指定布局
4.百分比布局PercentFrameLayout、PercentRelativeLayout
由于LinearLayout本身支持按比例指定控件大小。所以百分比布局只为FrameLayout和RelativeLayout进行功能拓展。
在app/build.gradle文件,在dependencies闭包中添加如下内容:
implementation 'com.android.support:percent:26.0.0'
app:layout_widthPercent宽度百分比
app:layout_heightPercent高度百分比
5.自定义布局
1.在主要布局中将自定义布局文件包含进来。
<include layout="@layout/title"/>
2.新建一布局文件
在主布局的配置文件中加载对应的布局文件
<com.exp.totalo.uicustomviews.TitleLayout
android:layout_width="match_parent" //需指定宽度
android:layout_height="wrap_content" /> //需指定高度