Myślę, że bardziej eleganckim rozwiązaniem byłoby skorzystać z ScrollView
„s android:fillViewport
nieruchomości. A ScrollView
jest trochę inny w sposobie, w jaki traktuje swój widok zawartości (może mieć tylko jeden), nawet jeśli ustawisz match_parent
( fill_parent
) na ScrollView
to, nie da tak dużych odstępów w widoku zawartości, zamiast tego domyślnym zachowaniem jest ScrollView
zawijanie treść niezależnie od tego, co określisz dla tego widoku. Mówi, android:fillViewport
że ma ScrollView
rozciągnąć zawartość, aby wypełnić obszar roboczy ( http://developer.android.com/reference/android/widget/ScrollView.html#attr_android:fillViewport ). W tym przypadku LinearLayout
zostanie rozciągnięty, aby dopasować się do widocznego obszaru, a jeśli wysokość znajdzie się za rzutnią, będzie można go przewijać, co jest dokładnie tym, czego chcesz!
Zaakceptowana odpowiedź nie będzie działać poprawnie, gdy zawartość wykracza poza obszar, ScrollView
ponieważ nadal będzie wyśrodkowywać widok treści, powodując najpierw odcięcie części widoku, a ScrollView
wyśrodkowany w innym układzie działa, ale po prostu nie wydaje się odpowiedni, poza tym Myślę, że spowoduje to również błąd kłaczków (bezużyteczny rodzic lub coś podobnego).
Spróbuj czegoś takiego:
<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>
Wystarczy pamiętać, że powodem jest skupione są tu teraz ze względu na android:gravity
na LinearLayout
skoro ScrollView
będzie rozciągnąć LinearLayout
więc miej to na uwadze, w zależności od tego, co można dodać do układu.
Kolejną dobrą lekturą, ScrollView
choć nie o centrowaniu, ale o tym, fillViewport
jest http://www.curious-creature.org/2010/08/15/scrollviews-handy-trick/