Я делаю меню для приложения и был указан на этот полезный ресурс, который перечисляет все drawables, которые являются частью банки андроида 2.0. данный пример использования
myMenuItem.setIcon(android.R.drawable.ic_menu_save);
К сожалению, тот, который я хочу (и большая часть списка) не доступен по умолчанию. Я добираюсь
android.R.drawable.ic_menu_login cannot be resolved
когда я пытаюсь установить изображения пункта меню:
@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 )
Что-то изменялось в недавних выпусках андроида? Кажется, что большинство из них является теперь 'частными ресурсами'... не мог найти много информации об этом, но я нашел некоторый совет:
Это используется для доступа к частным ресурсам. Не используйте его, потому что эти частные ресурсы часто удалять/переименовывать/и т.д. Используя его, скорее всего, повредил бы Ваше приложение в будущем.
Почему они изменили бы имена ресурса так или иначе? (Изображения позади них уверенный, но имена?), Как я получаю доступ ic_menu_login
затем? Существует ли лучшая причина не к, чем вышеупомянутое?
Как мне тогда получить доступ к ic_menu_login?
Скопируйте его в ваше приложение. Вы можете найти их все в вашей установке SDK, а именно в $ANDROID_HOME/platforms/$API/data/res/
, где $ANDROID_HOME
- это место, куда вы установили SDK, а $API
- это какой-то уровень Android (например, android-2.1
).