Tôi nghĩ rằng một giải pháp thanh lịch hơn sẽ sử dụng ScrollView's android:fillViewporttài sản. A ScrollViewcó một chút khác biệt về cách nó xử lý chế độ xem nội dung (chỉ có thể có một), ngay cả khi bạn đặt match_parent( fill_parent) thành ScrollViewnó sẽ không cung cấp nhiều khoảng cách như vậy cho chế độ xem nội dung, thay vào đó, hành vi mặc định là ScrollViewđể bao bọc nội dung bất kể những gì bạn chỉ định cho chế độ xem đó. Điều gì android:fillViewportcó nghĩa là ScrollViewkéo dài nội dung của nó để lấp đầy khung nhìn ( http://developer.android.com/reference/android/widget/ScrollView.html#attr_android:fillViewport ). Vì vậy, trong trường hợp này, của bạn LinearLayoutsẽ được kéo dài để phù hợp với khung nhìn và nếu chiều cao vượt ra sau khung nhìn thì nó sẽ có thể cuộn được chính xác là những gì bạn muốn!
Câu trả lời được chấp nhận sẽ không hoạt động đúng khi nội dung mở rộng ra ngoài ScrollViewvì nó vẫn sẽ căn giữa chế độ xem nội dung trước tiên khiến nó cắt bỏ một phần của chế độ xem và căn ScrollViewgiữa trong một bố cục khác hoạt động nhưng cảm thấy không ổn, bên cạnh đó Tôi nghĩ rằng nó cũng sẽ dẫn đến một lỗi lint (cha mẹ vô dụng hoặc một cái gì đó dọc theo những dòng đó).
Hãy thử một cái gì đó như sau:
<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>
Chỉ cần nhớ rằng lý do nó đang được làm trung tâm ở đây bây giờ là vì android:gravitytrên LinearLayoutkể từ khi ScrollViewsẽ căng LinearLayoutđể giữ cho rằng trong tâm trí phụ thuộc vào những gì bạn thêm vào cách bố trí.
Tốt khác đọc trên ScrollViewmặc dù không phải về trung nhưng về fillViewportlà http://www.curious-creature.org/2010/08/15/scrollviews-handy-trick/