我傾向於寫了這樣的佈局與孩子們LinearLayout
作爲根元素和權重動態分配屏幕資源。它使佈局定義緊湊,不需要定義額外的ID。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageView ... />
<ImageView ... />
...
<ImageView ... />
</LinearLayout>
</ScrollView>
<!-- footer here -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
...
</LinearLayout>
</LinearLayout>
使用RelativeLayout
爲根元素,與位於「上面」的底端對齊頁腳ScrollView
,然而,可能是在性能方面略勝一籌,但我懷疑它就會在一個noticable不同像這樣的簡單視圖層次結構的情況。 RelativeLayout方法確實需要分配一些id(至少對於頁腳,我會說)。
非常感謝,這正是我一直在尋找的。 – anonymous123 2012-04-11 13:24:41
另外我想知道,如果我們使用相對佈局,那麼您的意思是更好的表現。 – anonymous123 2012-04-11 13:25:12
佈局權重需要一個小部件來測量兩次。特別是當你開始用非零權重嵌套'LinearLayout'時,這是一件壞事,因爲測量次數呈指數增長。這正是現今Lint工具在這些情況下向您顯示警告的原因。通常(也是在這種情況下),您可以使用「RelativeLayout」實現相同的佈局。如果你需要一個例子,我很樂意將它添加到上面的答案中。 – 2012-04-11 19:21:50