Ich denke , eine elegantere Lösung wäre es , die zu verwenden ScrollViewist android:fillViewportEigentum. A unterscheidet ScrollViewsich ein wenig darin, wie es die Inhaltsansicht behandelt (kann nur eine haben), selbst wenn Sie match_parent( fill_parent) auf setzen ScrollView, gibt es der Inhaltsansicht nicht so viel Abstand, stattdessen ist das Standardverhalten das ScrollViewUmschließen der Inhalt, unabhängig davon, was Sie für diese Ansicht angeben. Sie android:fillViewportmüssen den ScrollViewInhalt erweitern, um das Ansichtsfenster zu füllen ( http://developer.android.com/reference/android/widget/ScrollView.html#attr_android:fillViewport ). In diesem Fall LinearLayoutwürden Sie also gedehnt, um mit dem Ansichtsfenster übereinzustimmen. Wenn die Höhe hinter dem Ansichtsfenster liegt, kann es gescrollt werden, was genau das ist, was Sie wollen!
Die akzeptierte Antwort funktioniert nicht richtig, wenn der Inhalt über das hinausgeht, ScrollViewda die Inhaltsansicht immer noch zuerst zentriert wird, wodurch ein Teil der Ansicht abgeschnitten wird, und dieScrollView zentriert wird, in einem anderen Layout zentrierte Funktion funktioniert, fühlt sich aber einfach nicht richtig an Ich denke, es wird auch zu einem Flusenfehler führen (nutzloser Elternteil oder etwas in dieser Richtung).
Versuchen Sie so etwas:
<ScrollView
android:id="@+id/scroller"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="12dp"
android:paddingBottom="20dp"
android:scrollbarStyle="outsideOverlay"
android:fillViewport="true">
<LinearLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="check" />
</LinearLayout>
</ScrollView>
Denken Sie daran , dass der Grund , warum es hier wird jetzt wegen der zentriert ist android:gravityauf die LinearLayoutseit dem ScrollViewdehnen dieLinearLayout so halten , dass, je nachdem , was Sie mit dem Layout hinzuzufügen.
Eine weitere gute lesen Sie weiter , ScrollViewobwohl nicht über Zentrierung aber etwa fillViewportist http://www.curious-creature.org/2010/08/15/scrollviews-handy-trick/