aclaraciones sobre dibujables 'privados' en android.R.drawable
Pregunta
Estoy haciendo un menú para una aplicación y se señaló a esto útil recurso que lista todos los dibujables que son parte de la androide tarro de 2,0. el ejemplo de uso dado es
myMenuItem.setIcon(android.R.drawable.ic_menu_save);
Por desgracia, la que yo quiero (y la mayor parte de la lista) no están disponibles por defecto. Llego
android.R.drawable.ic_menu_login cannot be resolved
cuando intento configurar las imágenes de elementos de menú:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Add two example menu buttons
int groupId = 0;
int menuItemOrder = Menu.NONE;
int menuItemId = 1;
String menuItemText = "Add Login Details";
MenuItem menuItem = menu.add(groupId, menuItemId, menuItemOrder, menuItemText);
menuItem.setIcon(android.R.drawable.ic_menu_login )
¿Cambió algo en versiones recientes de Android? Parece que la mayoría de estos son ahora los "recursos privados ... no pude encontrar mucha información sobre esto, pero me encontré con un consejo:
Se utiliza para acceso privado recursos. No lo utilice ya que estos recursos privados son a menudo eliminado / renombra / etc. Usando sería más probable romper su aplicación en el futuro.
Por qué iban a cambiar los nombres de los recursos de todos modos? (Las imágenes detrás de ellos seguro, pero los nombres?) ¿Cómo accedo a ic_menu_login entonces? ¿Hay una mejor razón para no que el anterior?
Solución
¿Cómo accedo a ic_menu_login entonces?
Copia en su aplicación. Usted puede encontrar todos ellos en su instalación SDK, específicamente en $ANDROID_HOME/platforms/$API/data/res/
, donde $ANDROID_HOME
es allí donde se ha instalado el SDK y $API
un cierto nivel de Android (por ejemplo, android-2.1
).