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:
- ¿Cómo desactivar y activar el desplazamiento en Android ScrollView?
- Android WebView dentro de ScrollView solo desplaza scrollview
- ScrollView no se desplaza si el teclado virtual está visible
- Stop scrollView en el centro del rollo
- Desplazar una vista / disposición oculta desde abajo
<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?
- ScrollView setOverScrollMode reemplazo en API <9
- Android 7 WebView con wrap_content
- Android ScrollView se niega a desplazarse hasta la parte inferior
- Android: ¿cómo comprobar si una Vista dentro de ScrollView está visible?
- ViewPager en un Layout detrás de un ScrollView sin escuchar gestos
- Centro de contenido en vista de desplazamiento
- ListView dentro de ScrollView no se desplaza en Android
- Android ScrollView isFinished?
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.
- Cómo persistir una vista a través de las actividades en Android
- ¿Las bibliotecas externas hacen las aplicaciones más lentas?