我想做一個選擇ListActivity,類似於用於向快速啓動屏幕添加快捷方式的選項。我已經推出了自己的頁眉和頁腳,我希望在屏幕上在視圖的頂部和底部「粘」。爲了做到這一點,我使用了一個RelativeLayout,頭部設置爲頂部,頁腳設置爲底部,列表設置爲低於頁眉和頁腳上方。就整個活動的佈局而言,這是我所期望的渲染。標題粘到頂部,頁腳粘到底部,列表滾動到它們之間。Android的RelativeLayout和wrap_content的高度?
當我切換到RelativeLayout作爲我的根時發生了一件奇怪的事情。請看下面的截圖:
我想我的活動的身高是wrap_content
,這樣的形式是隻高在它顯示的內容,但一旦我切換到RelativeLayout的,似乎呈現該活動有效地作爲fill_parent
,佔據整個屏幕,即使內容不保證。請注意,沒有足夠的列表項填充屏幕,其中fill_parent
樣式會在列表末尾和頁腳之間留下一堆空白。我正在通過樣式設置我的高度 - 這與LinearLayout運行良好,但現在似乎被忽略。所以我試着直接在RelativeLayout上硬編碼高度,但它仍然不起作用,仍然呈現爲fill_parent
。
這裏是我的佈局代碼:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/GroupsList"
android:layout_height="wrap_content">
<FrameLayout android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/hdrGroups"
android:layout_alignParentTop="true">
<include layout="@layout/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</include>
</FrameLayout>
<FrameLayout style="@style/MyFooter"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_alignParentBottom="true"
android:id="@+id/ftrGroups">
<ImageView style="@style/CloseButton"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/add"
android:id="@+id/imgGroupsAdd"
android:clickable="true">
</ImageView>
</FrameLayout>
<ListView android:divider="#9f9f9f"
android:id="@+id/android:list"
android:choiceMode="singleChoice"
android:dividerHeight="1dp"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_below="@id/hdrGroups"
android:layout_above="@id/ftrGroups">
</ListView>
<TextView android:text="@string/browser_no_groups"
style="@style/ListedItemB"
android:id="@+id/android:empty"
android:layout_height="wrap_content"
android:layout_above="@id/ftrGroups"
android:layout_below="@id/hdrGroups"
android:layout_width="fill_parent">
</TextView>
</RelativeLayout>
所有的佈局是通過XML完成的,......我不是在做任何代碼的佈局。 如何獲得粘性頁眉和頁腳,同時使整個活動在wrap_content
模式下表現出高度?有沒有其他方式我應該去關於這個而不是RelativeLayout?
您能夠發佈更完整的代碼示例複製截圖和問題?我的朋友和我有一個想法,但我們懶得把你沒有提供的遺失物品放在一起。 –
我會在接下來的幾天裏看看我能不能把東西扔在一起。 – eidylon
嗯,我終於有機會,並舉了一個例子...在這裏找到它:http://dl.dropbox.com/u/19767586/layout.test.zip。我還包括兩個屏幕,一個是它的外觀,一個是它應該看起來像。 – eidylon