我正在为一个应用程序制作菜单并被指向 this useful resource其中列出了属于 android 2.0 jar 的所有可绘制对象。给出的用法示例是
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 )
最近的 Android 版本有什么变化吗?似乎其中大部分现在都是“私有(private)资源”……找不到太多关于此的信息,但我找到了一些建议:
It is used to access private resources. Do not use it because these private resources are often removed/renamed/etc. Using it would most likely break your app in the future.
他们为什么要更改资源名称? (它们背后的图像是肯定的,但名字?)那么我如何访问 ic_menu_login
呢?还有比上述更好的理由吗?
最佳答案
How do I access ic_menu_login then?
将其复制到您的应用程序中。您可以在 SDK 安装中找到所有这些,特别是在 $ANDROID_HOME/platforms/$API/data/res/
中,其中 $ANDROID_HOME
是您安装 SDK 的位置,并且$API
是一些 Android 级别(例如,android-2.1
)。
关于android - 关于 android.R.drawable 中 'private' 可绘制对象的说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2636805/