私は子供のルート要素としてLinearLayout
と重みで、このようなレイアウトを記述する傾向があります画面の不動産を動的に割り当てる。レイアウト定義をコンパクトに保ち、余分なIDを定義する必要はありません。私はそれが顕著で異なる作ってあげる疑うもののScrollView
が下揃えフッターの「上記の」位置で
<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
を使用して、しかし、パフォーマンスの面で、おそらく若干良いですこのような単純なビュー階層の場合。 RelativeLayoutのアプローチでは、いくつかのIDを割り当てる必要があります(少なくともフッターには、私は言っています)。
ありがとう、これはまさに私が探していたものです。 – anonymous123
また、相対レイアウトを使用すると、パフォーマンスが向上して正確に何を意味するのかを知りたかったのです。 – anonymous123
レイアウトウェイトは、ウィジェットを2回測定する必要があります。特に、ゼロ以外の重みで 'LinearLayout'を入れ子にすると、測定数が指数関数的に増加するため、これは悪いことです。 Lintのツールでは、このような場合に警告が表示されます。しばしば(そしてこの場合でも)、あなたは 'RelativeLayout'を使って同じレイアウトを実現することができます。例が必要な場合は、私は上記の私の答えにそれを追加してうれしいです。 –