我越來越瘋狂的Android視圖。我想要一個帶頂部(A)的酒吧和一個酒吧的底部(C)與我的應用程序height="wrap_content"
的佈局。中間的完整剩餘空間(B)應該是帶有另一個佈局或TextView
或其他內容的內容區域。但我無法得到這個工作。我嘗試了很多佈局,但是當我對B執行android:layout_height="match_parent"
時,C消失了。有任何想法嗎?由於事先佈局與頂部酒吧,底部酒吧和剩餘空間內容視圖
3
A
回答
6
可以使用Android:layout_weight屬性來實現這一點,但你的父容器必須是一個的LinearLayout,在我的例子中,我只使用的LinearLayout作爲父視圖的孩子,但你可以使用另一種類型的觀:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<LinearLayout
android:id="@+id/layout_a"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</LinearLayout>
<LinearLayout
android:id="@+id/layout_b"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
</LinearLayout>
<LinearLayout
android:id="@+id/layout_c"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</LinearLayout>
</LinearLayout>
如果你是好奇,想知道它是如何工作......這裏是explanation,好運:)
0
把內容轉換成一個RelativeLayout
與alignParentTop
和alignParentBottom
屬性爲內容甲和Ç並且還below
和above
相關屬性內容乙,如下所示:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- create content A and C before -->
<LinearLayout
android:id="@+id/A"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:orientation="vertical" > </LinearLayout>
<LinearLayout
android:id="@+id/C"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="vertical" > </LinearLayout>
<!-- create content B regarding the previous ids -->
<LinearLayout
android:id="@+id/B"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/A"
android:layout_above="@id/C"
android:orientation="vertical" > </LinearLayout>
</RelativeLayout>
您可以嘗試更改B的高度與wrap_content
而不是match_parent
如果這不起作用。讓我知道這是否有幫助。
+1
是的,這將工作,只是用相同的規格嘲笑了一個視圖,它工作得很好。使用重量的 – OceanLife
0
使用重量:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/A"
android:layout_width="match_parent"
android:layout_height="50dp">
<!-- Your view here or replace FrameLayout -->
</FrameLayout>
<FrameLayout
android:id="@+id/B"
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1">
<!-- Your view here or replace FrameLayout -->
</FrameLayout>
<FrameLayout
android:id="@+id/C"
android:layout_width="match_parent"
android:layout_height="50dp">
<!-- Your view here or replace FrameLayout -->
</FrameLayout>
</LinearLayout>
將高度設置爲0有利於性能,因爲重量無論如何都會改變它。
0
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/top_bar"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="0dp"/>
<TextView
android:id="@+id/middle_area"
android:layout_weight="14"
android:layout_width="match_parent"
android:layout_height="0dp"/>
<TextView
android:id="@+id/bottom_bar"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="0dp"/>
android_layout_weight與LinearLayout中結合能爲你做的伎倆。嘗試上面的代碼,並根據您的需要調整android_layout_weight。 在我的例子中,頂欄將佔據屏幕的1/16,底欄將佔屏幕的1/16,中間區域佔屏幕的14/16。您可以將數字更改爲您的自定義需求。
相關問題
- 1. 佈局 - 如何填補頂部酒吧和底部酒吧之間的差距
- 2. 酒吧頂部酒吧關閉按鈕
- 3. barplot與酒吧從頂部
- 4. WordPress的頂部酒吧和我的頂級酒吧和IE9
- 5. 酒吧內的標籤和頂部
- 6. STDIN酒吧在底部
- 7. android webview頂部酒吧
- 8. 透明頂部酒吧ios7
- 9. MPAndroidChart內部酒吧標籤
- 10. 試圖居中頂部DIV酒吧
- 11. Android工作室:頂部酒吧圖標上的空白空間
- 12. Android和頂部酒吧通知
- 13. 頂部和底部酒吧在iPhone模擬器中不可見
- 14. Sencha靜態頂部和底部酒吧換頁
- 15. 圖表佈局和酒吧標籤
- 16. 更新android酒吧酒吧
- 17. 靜電FOO = 「酒吧」 與MyClass.foo = 「酒吧」
- 18. Android創建底部酒吧菜單
- 19. 底部酒吧頂部的浮動動作按鈕
- 20. Highcharts.js結合酒吧/折線圖與時間酒吧
- 21. 如何讓一個固定在視口底部的酒吧成爲頁腳底部的酒吧
- 22. 邊框伸出頂部酒吧
- 23. HTML頂部酒吧背景拉伸
- 24. Zurb Foundation禁用頂部酒吧摺疊
- 25. 在酒吧頂部顯示數值
- 26. TinyMCE酒吧總是在頂部
- 27. 固定搜索按鈕頂部酒吧
- 28. 我的MacVim頂部的奇怪酒吧?
- 29. 頂部酒吧斷點 - 基金會5
- 30. GGPLOT2:改變酒吧的順序,使數值越小酒吧都在酒吧頂部具有較大值
解決了這個問題。簡單的答案,它的作品。 thx所有答案 –
工作正常,在主線性佈局更改後android:layout_height =「wrap_content」android:layout_height =「match_parent」 – Duque
已修復! :)謝謝@Duque –