在Android中,常见的布局控件包括LinearLayout(线性布局)、RelativeLayout(相对布局)、TableLayout(网格布局)、FrameLayout(帧布局)、AbsoluteLayout(绝对布局)等,其中最常用的是:LinearLayout(线性布局)、RelativeLayout(相对布局)。
LinearLayout布局是Android中应用最广泛的,也是最基础的一种布局文件。LinearLayout布局可以使放入其中的组件以水平方式或者垂直的方式整齐排列,LinearLayout的继承关系如下:
java.lang.Object | |||
↳ | android.view.View | ||
↳ | android.view.ViewGroup | ||
↳ | android.widget.LinearLayout |
main.xml如下:
<?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"
android:background="#aaaaaa"
>
<!-- 顶部 -->
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
>
<Button
android:id="@+id/button1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#00ff00"
android:text="微信"
android:textColor="#ffffff"
android:textSize="26sp" />
<Button
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#ff00ff"
android:text="支付宝"
android:textColor="#ffffff"
android:textSize="26sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="1"
>
<Button
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ff0000"
android:gravity="center"
android:text="淘宝"
android:textColor="#ffffff"
android:textSize="26sp" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
>
<Button
android:id="@+id/button4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#00BFFF"
android:text="钉钉"
android:textSize="20sp"
android:textColor="#ffffff"
/>
<Button
android:id="@+id/button5"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#DC143C"
android:text="QQ"
android:textSize="20sp"
android:textColor="#ffffff"
/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
>
<Button
android:id="@+id/button6"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#FFD700"
android:text="UC浏览器"
android:textColor="#ffffff"
android:textSize="20sp"
/>
<Button
android:id="@+id/button7"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#7FFF00"
android:text="微博"
android:textColor="#ffffff"
android:textSize="20sp"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
>
<Button
android:id="@+id/button8"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#ff4500"
android:text="百度"
android:textColor="#ffffff"
android:textSize="26sp" />
<Button
android:id="@+id/button9"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#00ffff"
android:text="京东"
android:textColor="#ffffff"
android:textSize="26sp" />
</LinearLayout>
</LinearLayout>
运行效果如下:
最后说几句:LinearLayout布局可使用嵌套。活用LinearLayout布局,可以设计出各种各样漂亮的布局方式。