1.线性布局:LinearLayout
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal"//水平排列 vertical竖直排列 android:layout_width="match_parent" android:layout_height="match_parent" >android:Layout_gravity:设置控件的对齐方式 ->top,bottom,center_vertical等
<Button android:id="@+id/send" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:text="Send" />
android:Layout_weiht:使用比例的方式控制控件的大小
<EditText android:id="@+id/input_message" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:hint="Type something" /> <Button android:id="@+id/send" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Send" />
两个控件在水平方向上大小1:1 平分
<EditText android:id="@+id/input_message" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:hint="Type something" /> <Button android:id="@+id/send" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Send" /> //仅设置EditText控件的比例大小,Button控件width适应文字的大小
2.相对布局RelativeLayout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent">
<Button android:id="" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true"
android:layout_above="@id/button3" //在...上方android:layout_alignParentRight="true"android:layout_centerInParent="true"android:layout_alignParentTop="true"android:layout_alignParentBottom="true"android:text=""/>
android:toRightOf= 在...右方
android:toLeftOf=在...左方
android:below=“”在...下方
anroid:layout_alignLeft="" //该控件的左边缘和另一个控件的左边缘对齐
android:layout_laignRight=""
android:layout_alignTop=""
android:layout_alignBottom=""//同理
3.帧布局 FrameLayout
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
应用场景比较少
4.百分比布局 PercentFrameLayout PercentRelativeLayout
修改app/src/build.gradle中dependencies闭包中的代码
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:24.2.1' compile 'com.android.support:percent:24.2.1' //添加的代码 testCompile 'junit:junit:4.12' }
修改acitivity_main,xml中的代码
<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>