2011-08-20 14 views
5

Estoy tratando de usar uno de los spinners de Android (spinner_black_16, spinner_black_20, spinner_black_48 o spinner_black_76) como se demuestra en this page. Mi proyecto usa SDK 2.1, así que lo actualicé a 2.2, ya que esa página indica la versión del SDK donde están incluidos. Desafortunadamente, ninguno de los android.R.drawable.spinner_black_xx parece estar definido.¿No se puede usar el spinner de Android?

¿Están estos productos descartables no disponibles para el uso del desarrollador? La única otra forma que parecen ser capaces de acceder a ellos es a través del siguiente método complicado:

final Drawable spinner = new ProgressBar(context).getIndeterminateDrawable(); 

Por desgracia, que me proporciona el control de giro blanco, no el negro.

+1

A pesar de que no puedo acceder a esos spinners tampoco (intenté acceder a ellos a través de android.R.drawable.spinner_black _...) un consejo: te recomiendo que no uses los estilos nativos de android. Por el simple motivo de que pueden desaparecer/cambiar en cualquier momento. – Ready4Android

+0

@ Ready4Android - Tienes razón. Si publica como respuesta, marcaré como correcto. –

+2

también puede intentar ir a través de las carpetas de sdk de Android para tomar los elementos imprimibles e importarlos a su proyecto. puede encontrarlos en /platforms/android-xx/data/res – Apperside

Respuesta

1

La mejor manera de acceder a esos formularios es copiarlos desde su directorio SDK a su proyecto y luego acceder a ellos como cualquier otro recurso.

Los productos descartables se encuentran en $ANDROID_SDK_DIR/platforms/android-*/data/res/drawable-*/. Puede descargar y seleccionar la versión del sistema operativo desde la que desea extraer los productos extraíbles. API de nivel 7/OS versión 2.1 tiene el complemento completo:

platforms/android-7/data/res/drawable-mdpi/spinner_black_16.png 
platforms/android-7/data/res/drawable-mdpi/spinner_black_20.png 
platforms/android-7/data/res/drawable-mdpi/spinner_black_48.png 
platforms/android-7/data/res/drawable-mdpi/spinner_black_76.png 
platforms/android-7/data/res/drawable-hdpi/spinner_black_16.png 
platforms/android-7/data/res/drawable-hdpi/spinner_black_20.png 
platforms/android-7/data/res/drawable-hdpi/spinner_black_48.png 
platforms/android-7/data/res/drawable-hdpi/spinner_black_76.png 

pesar de que no Actualmente, oficiales "Guías de Diseño de Iconos" de Android used to explicitly address this situation y recomendar la copia:

Dado que los recursos se puede cambiar entre la plataforma versiones, no debe hacer referencia a los iconos incorporados utilizando los ID de recursos de la plataforma Android (es decir, los iconos de la barra de estado en android.R.drawable). Si desea utilizar cualquier ícono u otros recursos internamente dibujables, debe almacenar una copia local de esos íconos o recursos dibujables en los recursos de su aplicación, luego haga referencia a la copia local desde el código de su aplicación. De esa manera, puede mantener el control sobre la apariencia de sus iconos, incluso si la copia del sistema cambia.

Cuestiones relacionadas