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

Android RelativeLayout 底部 LinearLayout 被 View 頂起:佈局屬性調整

     編輯:程式設計綜合問答

場景

底部 LinearLayout 設置 alignParentBottom="true",想在其上方插入一個 View 將它頂起。

解決:調整佈局層級與屬性


<RelativeLayout ...>
    <!-- 內容區:match_parent 高度,底部留出底部欄高度 -->
    <ScrollView
        android:layout_above="@id/bottom_bar"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        ...
    </ScrollView>

    <!-- 底部欄 -->
    <LinearLayout
        android:id="@+id/bottom_bar"
        android:layout_alignParentBottom="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        ...
    </LinearLayout>
</RelativeLayout>

關鍵點

  • 內容區用 layout_above="@id/bottom_bar" 而非固定高度。
  • 底部欄 wrap_content 自適應高度。
  • 若需動態隱藏/顯示底部欄,配合 Visibility.GONE 內容區自動填滿。

替代方案:ConstraintLayout(推薦新項目)


app:layout_constraintBottom_toTopOf="@id/bottom_bar"
app:layout_constraintTop_toTopOf="parent"

更扁平、性能更好、可視化編輯友好。

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