Ich neige dazu, können versuchen, Layouts wie dies mit einem LinearLayout
als Wurzelelement und Gewichte auf die Kinder zu schreiben dynamisch den Bildschirmstatus zuweisen Es hält die Layoutdefinition kompakt und erfordert keine Definition von zusätzlichen IDs.
<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>
ein RelativeLayout
als Wurzelelement verwendet, wobei die ScrollView
positionierte ‚oben‘ die untere justierte Fußzeile ist jedoch wahrscheinlich etwas besser in Bezug auf Leistung, obwohl ich es Zweifel wird in denen ein noticable verschiedenen machen Fall einer einfachen Ansichtshierarchie wie dieser. Der RelativeLayout-Ansatz erfordert die Zuweisung einiger IDs (zumindest für die Fußzeile, würde ich sagen).
Vielen Dank das ist genau das, was ich gesucht habe. – anonymous123
Auch ich wollte wissen, was meinst du genau durch bessere Leistung, wenn wir ein relatives Layout verwenden. – anonymous123
Layoutgewichte erfordern, dass ein Widget zweimal gemessen wird. Vor allem, wenn Sie LineareLayouts mit Nicht-Null-Gewichten verschachteln, ist das eine schlechte Sache, da die Anzahl der Messungen exponentiell ansteigt. Genau deshalb zeigt Ihnen das Lint-Tool in diesen Fällen eine Warnung. Oft (und auch in diesem Fall) können Sie dasselbe Layout mit einem 'RelativeLayout' realisieren. Wenn Sie ein Beispiel benötigen, füge ich es gerne meiner obigen Antwort hinzu. –