首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android LinearLayout 垂直佈局中實現兩個 TextView 同行顯示:嵌套水平 LinearLayout

     編輯:程式設計綜合問答

需求:垂直 LinearLayout 內,將「時間」與「年齡」兩個 TextView 放在同一水平行,其餘保持垂直排列。

解決方案:在垂直容器中嵌套一個水平 LinearLayout

<LinearLayout xmlns:android="..."
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <ImageView android:id="@+id/imgLink" ... />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView android:id="@+id/title" ... />

        <!-- 關鍵:水平容器包裹 time 和 age -->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/time"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Time"
                android:textSize="8sp" />

            <TextView
                android:id="@+id/age"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="10dp" <!-- 間距 -->
                android:text="Age"
                android:textSize="8sp" />

        </LinearLayout>

        <TextView android:id="@+id/information" ... />

    </LinearLayout>
</LinearLayout>

關鍵點

  • 外層 orientation="vertical" 保持整體垂直流。
  • 內層 orientation="horizontal" 實現同行並排。
  • 使用 layout_marginStart(或 layout_marginLeft)控制間距。
  • layout_width="wrap_content" 讓文本自適應寬度。

現代替代:ConstraintLayout 扁平化

<ConstraintLayout ...>
    <TextView android:id="@+id/title" ... />
    <TextView android:id="@+id/time" 
        app:layout_constraintTop_toBottomOf="@id/title"
        app:layout_constraintStart_toStartOf="parent" />
    <TextView android:id="@+id/age"
        app:layout_constraintTop_toBottomOf="@id/title"
        app:layout_constraintStart_toEndOf="@id/time"
        android:layout_marginStart="10dp" />
    <TextView android:id="@+id/information"
        app:layout_constraintTop_toBottomOf="@id/time" />
</ConstraintLayout>

優點:無嵌套、渲染更快、響應式約束更強。

總結

「垂直流中局部水平」= 在垂直容器插入水平容器。掌握嵌套模式,或遷移 ConstraintLayout 獲得更優體驗。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved