Я думаю, що більш елегантне рішення було б використовувати в ScrollView«S android:fillViewportвласності. A ScrollViewдещо відрізняється тим, як він поводиться з його переглядом вмісту (може мати лише один), навіть якщо ви встановите match_parent( fill_parent) на його, ScrollViewвін не дасть такого інтервалу для його перегляду вмісту, натомість поведінка за замовчуванням призначена для ScrollViewзавершення вміст незалежно від того, що ви вказали для цього представлення даних. Що android:fillViewportозначає підказати ScrollViewрозтягнути його вміст, щоб заповнити вікно перегляду ( http://developer.android.com/reference/android/widget/ScrollView.html#attr_android:fillViewport ). Отже, у цьому випадку ваш LinearLayoutелемент буде розтягнутий, щоб відповідати вікні перегляду, і якщо висота буде відстати від вікна перегляду, то він буде прокручуватися, що саме те, що ви хочете!
Прийнята відповідь не буде працювати належним чином, коли вміст виходить за межі, ScrollViewтому що він все ще буде центром подання вмісту, спочатку змушуючи його відрізати частину перегляду, а ScrollViewцентрированний в іншому макеті працює, але просто не здається правильним, до того ж Я думаю, що це також призведе до помилки, що залишається (марний батько або щось подібне).
Спробуйте щось подібне:
<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>
Просто пам’ятайте, що причина, в якій він зараз зосереджена тут, полягає в тому, що android:gravityз того LinearLayoutчасу, коли ScrollViewбуде розтягнутий, LinearLayoutтак майте це на увазі залежно від того, що ви додали до макета.
Ще один хороший читати далі , ScrollViewхоча і нема про зосередженні , а про fillViewportє http://www.curious-creature.org/2010/08/15/scrollviews-handy-trick/