Accesibilidad Android - Activity

bLero

Hola chicos,

Estoy inmerso en un proyecto de accesibilidad para personas invidentes, o con un alto grado de discapacidad visual.

El pilar básico del proyecto es una aplicación Android, con un sistema de texto a voz a modo de "Talkback" y un sistema de reconocimiento de voz o escritura a mano alzada para la entrada de datos a la aplicación.

Hasta el momento no estoy teniendo problemas con la organización de los widgets en las activities ya que no suelo tener más de 4 botones por pantalla.

El problema viene ahora, y es que necesito introducir en una misma activity entre 0 y 50 widgets (botones o similares).

Para un vidente no sería problema, ya que le meto una lista con scroll y listo. Pero para un invidente eso es muy complicado. Así que debería implementar mi propio sistema.

En un primer momento se me ha ocurrido algo asi:

pero creo que se desaprovecha bastante espacio con el botón de más elementos.

Otra idea que se me ocurrió sería arrastrar con el dedo la pantalla hacia la izquierda y que cargue otra página de elementos, pero nose como implementar ese gesto, y tampoco me convence demasiado.

¿Alguna idea?

bLero

Creo que al final usaré:

http://developer.android.com/reference/android/support/v4/view/ViewPager.html

El problema que le veo es que es necesario API 16, y eso me limita mucho el número de dispositivos compatibles, así que puede que programe algo parecido por mi cuenta.

1 respuesta
elkaoD

#2 yo tengo Gingerbread y hay aplicaciones con paging de este, así que habrá un componente equivalente.

Vamos, según lo entiendo es lo de arrastrar con el dedo la pantalla hacia la izquierda y que cargue otra página de elementos.

1 respuesta
MTX_Anubis

No es necesario el API level 16 para el ViewPager, si te das cuenta está en la support library que vale desde la 1.5 en adelante.

Si la quieres instalar, abre el SDK Manager y en extras descarga la Android Support Library. Para añadirla a tu proyecto (imagino que usarás eclipse): Botón derecho sobre tu proyecto -> Android Tools/Add suport library...

Si no, con buscar la librería en android-sdk/extras/android/support/ y la versión que quieras y añadirla a a mano al proyecto te vale.

También puedes utilizar el ViewFlow, que es más configurable, el ViewPager tiene sus limitaciones.

1 respuesta
bLero

#3 , #4

Gracias,

Es probable que utilice el ViewPager de la support library, de momento creo que me basta con sus limitaciones.

De todas formas, ahora mismo estoy realizando un prototipo de pantallas para un test de accesibilidad. Cuando haga las pruebas a los usuarios es probable que tenga que descartar el componente, aunque a priori me parece bastante accesible para los invidentes (apoyado con el sistema de talkback claro).

C

#1, yo me he pegado ya con el ViewPager. Y además en modo basto puesto que quería cargar fechas de forma dinámica. Te paso los links que tengo en mi mega colección marcadores Android referente al ViewPager y al ViewPageIndicator (es un componente de Jake Wharton, el de Sherlock).

ViewPageIndicator
http://blog.stylingandroid.com/archives/542
https://bitbucket.org/ayastrebov/android-infinite-viewpager/src/b69ee64cfbe4/ViewPager-Sample/
https://bitbucket.org/ayastrebov/android-infinite-viewpager/src/b69ee64cfbe4/ViewPager-Sample/src/com/stonerhawk/viewpager/MyPagerAdapter.java
http://android.catalinstefan.com/viewpager-with-dynamic-views-2/
http://www.zylinc.com/blog-reader/items/viewpager-page-indicator.html
https://github.com/pakerfeldt/android-viewflow
http://www.dreamincode.net/forums/topic/130521-android-part-iii-dynamic-layouts/
http://stackoverflow.com/questions/10694388/android-viewpagerindicator-creating-different-layouts-for-different-pages
http://blogti3r.blogspot.com/2011/09/ejemplo-con-viewpager-en-android.html
http://avl.wm.lapy.pl/trac/browser/trunk/AvlRescue/src/com/android/wm/avlrescue/ui/TestFragmentAdapter.java?rev=54
https://github.com/cgeo/c-geo-opensource/issues/842
http://stackoverflow.com/questions/7263291/viewpager-pageradapter-not-updating-the-view
http://stackoverflow.com/questions/9159264/avoid-page-switching-in-a-viewpager-until-the-content-on-the-next-page-is-ready
[Nombre de la carpeta]
https://bitbucket.org/ayastrebov/android-infinite-viewpager/src/b69ee64cfbe4/ViewPager-Sample/src/com/stonerhawk/viewpager/MyPagerAdapter.java
https://bitbucket.org/ayastrebov/android-infinite-viewpager/src/b69ee64cfbe4/ViewPager-Sample/res/layout/day_view.xml
http://androcode.es/2011/11/viewpager-implementando-columnas/
https://code.google.com/p/series-ly-android/source/browse/trunk/series-ly/src/net/vistiyos/android/MyPageAdapterSerie.java?spec=svn8&r=8
http://stackoverflow.com/questions/8546494/viewpager-instantiateitem-position
http://www.google.es/

1 respuesta
bLero

#6

Gracias, pero ya lo he conseguido. Era bastante sencillo.

El contenido que debo cargar es estático así que no hubo mayor problema. Metí un ListView dentro del ViewPager y ahí cargué el contenido.

Usuarios habituales

  • bLero
  • MTX_Anubis
  • elkaoD