我倾向于使用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>
然而,使用 aRelativeLayout
作为根元素,ScrollView
定位在底部对齐的页脚“上方”,在性能方面可能会稍好一些,尽管我怀疑在像这样的简单视图层次结构的情况下它会产生明显的不同。RelativeLayout 方法确实需要分配一些 id(至少要分配到页脚,我会说)。