Saya pikir solusi yang lebih elegan akan menggunakan ScrollView
's android:fillViewport
properti. A ScrollView
sedikit berbeda dalam cara memperlakukan tampilan kontennya (hanya dapat memiliki satu), bahkan jika Anda menyetel match_parent
( fill_parent
) ke ScrollView
itu tidak akan memberikan banyak jarak ke tampilan kontennya, sebaliknya perilaku default adalah untuk ScrollView
membungkus konten apa pun yang Anda tentukan untuk tampilan itu. Apa yang android:fillViewport
dilakukan adalah memberi tahu ScrollView
untuk meregangkan kontennya untuk mengisi viewport ( http://developer.android.com/reference/android/widget/ScrollView.html#attr_android:fillViewport ). Jadi dalam kasus ini, Anda LinearLayout
akan diregangkan agar sesuai dengan viewport dan jika ketinggian berada di belakang viewport maka itu akan dapat digulir sesuai dengan yang Anda inginkan!
Jawaban yang diterima tidak akan berfungsi dengan baik ketika konten melampaui ScrollView
karena itu masih akan memusatkan tampilan konten terlebih dahulu menyebabkannya memotong sebagian tampilan, dan ScrollView
berpusat di tata letak lain berfungsi tetapi terasa tidak benar, selain itu Saya pikir itu juga akan menghasilkan kesalahan lint (orang tua tidak berguna atau sesuatu di sepanjang garis itu).
Coba sesuatu seperti ini:
<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>
Ingatlah bahwa alasan itu dipusatkan di sini sekarang adalah karena android:gravity
pada LinearLayout
sejak ScrollView
akan meregangkan LinearLayout
jadi ingatlah itu tergantung pada apa yang Anda tambahkan ke tata letak.
Baik lagi membaca ScrollView
meskipun bukan tentang keterpusatan tapi tentang fillViewport
adalah http://www.curious-creature.org/2010/08/15/scrollviews-handy-trick/