线性布局 LinearLayout

线性布局是最简单的布局,容器内控件沿着单条直线排布,支持水平排列垂直排列两种模式。

通过属性 android:orientation 设置排列方向:

  • android:orientation="horizontal":水平排列
  • android:orientation="vertical":垂直排列

布局示例 axml

<?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:padding="12dp">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="按钮1"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="按钮2"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="按钮3"/>

</LinearLayout>Code language: HTML, XML (xml)

水平排列示例

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="A"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="B"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="C"/>

</LinearLayout>Code language: HTML, XML (xml)

  1. orientation 是 LinearLayout 的核心属性,不设置默认是 horizontal 水平;
  2. vertical:从上到下依次摆放控件;
  3. horizontal:从左到右依次摆放控件;
  4. 支持布局嵌套,LinearLayout里面可以再放LinearLayout实现复杂界面。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:minWidth="25px"
    android:minHeight="25px">

    <!-- 水平线性布局,占屏幕上半部分,权重1 -->
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1">

        <TextView
            android:text="Column1"
            android:gravity="center_horizontal"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_weight="1"/>

        <TextView
            android:text="Column2"
            android:gravity="center_horizontal"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_weight="1"/>

        <TextView
            android:text="Column3"
            android:gravity="center_horizontal"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_weight="1"/>
    </LinearLayout>

    <!-- 垂直线性布局,占屏幕下半部分,权重1 -->
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1">

        <TextView
            android:text="row1"
            android:textSize="15pt"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>

        <TextView
            android:text="row2"
            android:textSize="15pt"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>

        <TextView
            android:text="row3"
            android:textSize="15pt"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
    </LinearLayout>

</LinearLayout>Code language: HTML, XML (xml)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注