chiarimenti su drawable 'private' in android.R.drawable
Domanda
sto facendo un menu per un app ed è stato sottolineato questa risorsa utile che elenca tutti i drawable che fanno parte del vaso di Android 2.0. l'esempio di utilizzo data è
myMenuItem.setIcon(android.R.drawable.ic_menu_save);
Purtroppo, quello che voglio (e la maggior parte della lista) non sono disponibili per impostazione predefinita. Ottengo
android.R.drawable.ic_menu_login cannot be resolved
quando si tenta di impostare le immagini voce di menu:
@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 )
ha fatto qualcosa di cambiamento nella release più recenti di Android? Sembra che la maggior parte di questi sono ora 'risorse private' ... non poteva trovare molte informazioni, ma ho trovato un consiglio:
E 'utilizzato per l'accesso privato risorse. Non usarlo perché questi risorse private sono spesso rimosso / rinominato / etc. Utilizzando sarebbe molto probabilmente rompere il vostro app nel futuro.
Perché dovrebbero cambiare i nomi delle risorse in ogni caso? (Le immagini dietro di loro sicuro, ma i nomi?) Come posso accedere ic_menu_login allora? C'è una ragione migliore per non quanto sopra?
Soluzione
Come si accede ic_menu_login allora?
Copia nella vostra applicazione. Potete trovare tutti loro nella vostra installazione SDK, in particolare in $ANDROID_HOME/platforms/$API/data/res/
, dove $ANDROID_HOME
è ovunque è stato installato l'SDK e $API
un certo livello di Android (ad esempio, android-2.1
).