Creo que una solución más elegante sería el uso de la ScrollView's android:fillViewportpropiedad. A ScrollViewes un poco diferente en la forma en que trata su vista de contenido (solo puede tener una), incluso si establece match_parent( fill_parent) en ScrollView, no le dará tanto espacio a su vista de contenido, sino que el comportamiento predeterminado es ScrollViewque el contenido independientemente de lo que especifique para esa vista. Lo que android:fillViewporthace es decirle ScrollViewque estire su contenido para llenar la ventana gráfica ( http://developer.android.com/reference/android/widget/ScrollView.html#attr_android:fillViewport ). Entonces, en este caso, LinearLayoutse estirará para que coincida con la ventana y si la altura va detrás de la ventana, entonces se podrá desplazar, ¡que es exactamente lo que desea!
La respuesta aceptada no funcionará correctamente cuando el contenido se extienda más allá de ScrollViewporque todavía centrará la vista de contenido primero, lo que hará que corte una parte de la vista, y el ScrollViewcentrado en otro diseño funciona pero simplemente no se siente bien, además Creo que también resultará en un error de pelusa (padre inútil o algo por el estilo).
Intente algo como esto:
<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>
Sólo recuerde que la razón por la que se centra aquí ahora es debido a la android:gravitysobre el LinearLayoutpuesto que la ScrollViewva a estirar el LinearLayoutfin de mantener esto en mente, dependiendo de lo que se agrega a la disposición.
Otra buena lectura sobre ScrollViewaunque no sobre centrado sino sobre fillViewportes http://www.curious-creature.org/2010/08/15/scrollviews-handy-trick/