Coloque un bloque en el centro de un ScrollView

Tengo un ScrollView que contiene un solo niño (elementos envueltos por un LinearLayout). En algún momento la altura de este niño es la mitad de la altura de la ventana, alguna vez es más grande.

Aquí el diseño:

 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="10dp" android:paddingRight="10dp" android:paddingBottom="10dp" android:paddingTop="10dp" android:background="@color/some_background"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:background="@drawable/fond_consult" android:orientation="vertical" android:weightSum="2"> ... Some TextViews and ImageViews... </LinearLayout> </ScrollView> 

Cuando el tamaño y la densidad de la pantalla son bajos, el niño se muestra correctamente en ScrollView, pero al representar esta actividad en una pantalla más grande como HDPI y XHDPI, el contenido se coloca en la parte superior de ScrollView.

¿Hay alguna manera de establecer la gravedad para el único hijo del ScrollView, o tengo que eliminar el scrollView si la pantalla del dispositivo es más grande que la altura de medición del niño?

Lo que puedes hacer es intentar agregar android:layout_gravity="center" a ScrollView con su layout_width y layout_height como wrap_content . Como ScrollView se gestiona a la altura y el ancho de sus diseños secundarios.

En el caso normal, ScrollView sólo ocupará el espacio mínimo requerido, por lo que la cuestión de la alineación vertical (en caso de desplazamiento vertical) no surge en absoluto. Puede revisar el artículo en http://www.curious-creature.org/2010/08/15/scrollviews-handy-trick/ . Puede ayudarte.

  • NestedScrollView (NSV) en CoordinatorLayout (CL): NSV no en la parte superior cuando se carga
  • Agregar un encabezado a un GridView (Android)
  • Android: ¿Detectar cuando ScrollView ha terminado de desplazarse y rebotar de nuevo?
  • Cómo obtener la última posición de vista de desplazamiento, vista de desplazamiento
  • Android - stackoverflow Error
  • ScrollView salta a EditText
  • Sincronizar la posición de dos vistas ScrollView
  • ¿Cómo puedo cambiar el color de OverScroll en Android 2.3.1?
  • RecyclerView dentro de ScrollView / NestedScrollView no se desplaza correctamente
  • ¿Dibuja gráficas en android utilizando Graphview?
  • Android ScrollView y los botones en la parte inferior de la pantalla
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.