Cómo desplazarse a la parte inferior en un ScrollView en inicio de actividad
Estoy mostrando algunos datos en un ScrollView. En el arranque de la actividad (método onCreate) lleno el ScrollView con datos y quiero desplazarme a la parte inferior.
Intenté usar getScrollView().fullScroll(ScrollView.FOCUS_DOWN)
. Esto funciona cuando lo hago como una acción en el botón de clic, pero no funciona en el método onCreate.
- Cómo utilizar RecyclerView.scrollToPosition () para mover la posición a la parte superior de la vista actual?
- Bootstrap 3 largo desplazamiento modal de fondo en Android
- Vistas de varias listas de Android que no se desplazan de forma independiente
- Desplazamiento por programación de una palabra en vista en una vista de texto
- ¿Hay alguna manera de saber cuántos elementos están mostrando en una vista de lista?
¿Hay alguna manera de cómo desplazar el ScrollView a la parte inferior en el inicio de la actividad? Esto significa que la vista ya se desplaza hacia abajo cuando se muestra la primera vez.
- Android ScrollView se desplaza a la parte superior después de llamar a setVisibility (View.VISIBLE) en la vista secundaria
- Scrollview no desliza cuando es demasiado corto para desplazarse
- ¿Cómo animar recyclerview en desplazamiento como Google plus / Google newsstand?
- Desplazamiento de imagen enriquecido y zoom en android
- Sin elástico Desplazamiento en ListView
- Android WebView desplácese hacia abajo
- JQuery móvil deshabilitar el contenido de la página desplazamiento vertical
- Sincronización de dos ListViews lado a lado de Android
Debe hacerse de la siguiente manera:
getScrollView().post(new Runnable() { @Override public void run() { getScrollView().fullScroll(ScrollView.FOCUS_DOWN); } });
De esta manera, la vista se actualiza por primera vez y luego se desplaza hasta el fondo "nuevo".
Ponga el siguiente código después de agregar sus datos:
final ScrollView scrollview = ((ScrollView) findViewById(R.id.scrollview)); scrollview.post(new Runnable() { @Override public void run() { scrollview.fullScroll(ScrollView.FOCUS_DOWN); } });
Esto funciona para mí:
scrollview.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { scrollview.post(new Runnable() { public void run() { scrollview.fullScroll(View.FOCUS_DOWN); } }); } });
Puede hacerlo en el archivo de diseño:
android:id="@+id/listViewContent" android:layout_width="wrap_content" android:layout_height="381dp" android:stackFromBottom="true" android:transcriptMode="alwaysScroll">
Justo después de añadir los datos a la vista, agregue esta sola línea:
yourScrollview.fullScroll(ScrollView.FOCUS_DOWN);
Prueba esto
final ScrollView scrollview = ((ScrollView) findViewById(R.id.scrollview)); scrollview.post(new Runnable() { @Override public void run() { scrollview.fullScroll(ScrollView.FOCUS_DOWN); } });
Esta es la mejor manera de hacer esto.
scrollView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { scrollView.post(new Runnable() { public void run() { scrollView.fullScroll(View.FOCUS_DOWN); } }); }
Después de inicializar el componente de interfaz de usuario y rellenarlo con datos. Añada la línea a su método de crear
Runnable runnable=new Runnable() { @Override public void run() { scrollView.fullScroll(ScrollView.FOCUS_DOWN); } }; scrollView.post(runnable);
- GetSupportActionBar desde el interior de Fragment ActionBarCompat
- ¿Cómo fijar el fondo de imagen de la imagen para el estado diferente?