Hacer scrollbars flash de código (como iOS flashScrollIndicators)
En iOS hay el método flashScrollIndicators
en la clase UIScrollView
que te permite hacer que las barras de desplazamiento parpadeen brevemente como lo hacen cuando se muestra la vista por primera vez.
No puedo encontrar en la documentación de Android equivalente a esto, para que las barras de desplazamiento flash brevemente en desplazable vistas (ScrollView, ListView, WebView, etc). Traté de emitir un requestLayout()
en la vista, pero eso no funcionó.
- Gridlayout + ScrollView
- Centro de contenido en vista de desplazamiento
- DialogFragment sin título - ScrollView no se desplaza
- Android captura todos los eventos de movimiento y los envía a los niños
- Escaneando con múltiples RecyclerViews en Layout
La razón por la que estoy preguntando esto es porque mis vistas están contenidas en un ViewPager
y cuando el usuario pasa a una página diferente, esa página ya ha sido dibujada y no muestra las barras de desplazamiento.
Contestando mi propia pregunta aquí
El método se llama awakenScrollBars
y se define en la clase View
. Desafortunadamente el método está protected
por lo que tendrá que subclase el ScrollView, ListView o cualquier vista que desee tener sus barras de desplazamiento destellado.
Alternativamente, los métodos públicos scrollTo
y scrollBy
también parpadean las barras de desplazamiento pero sólo si la posición de desplazamiento ha cambiado realmente. Así fe listView.scrollBy(0,0)
no funcionará y listView.scrollTo(0,0)
sólo funciona si la vista no estaba ya en la parte superior.
Si son incapaces de subclase la vista, lo siguiente parece funcionar, aunque es cierto que es una especie de hack:
view.setVisibility(View.INVISIBLE); view.setVisibility(View.VISIBLE);
Configurar la vista a invisible y luego inmediatamente a visible otra vez no parece causar ningún redibujo, pero tiene el efecto secundario de activar la barra de desplazamiento parpadeando.
- ¿Es posible ajustar el adaptador al diseño lineal?
- Scrollview está detrás de ActionBar Android
- Deshabilitar el desplazamiento de un ListView contenido dentro de un ScrollView
- Ver contenido a continuación ExpandableListView
- ¿Cómo desactivar y activar el desplazamiento en Android ScrollView?
- Cambiar el color de la barra de desplazamiento en Android
- ScrollTo, scrollBy, smoothScrollTo, smoothScrollTo no funcionan en ScrollView después de agregar la vista en el diseño secundario
- Cómo obtener ArrayIndex fuera de límites Excepción al agregar nuevos elementos a la lista mientras se desplaza
Yo estaba teniendo un problema similar que he resuelto forzándolo a desplazarse hacia arriba y hacia abajo directamente después de sí.
scrollView.scrollBy(0, 1); scrollView.scrollBy(0, -1);
Esto hace que ScrollView scrollView muestre la barra de desplazamiento vertical, a menos que no haya nada para desplazarse.
Espero que esto fue útil.
Chico.
- Android Recomendación de seguridad en la aplicación: ¿qué significa esto?
- Native_window_api_connect devolvió un error: argumento no válido (-22)