5

我正在为一个应用程序制作一个菜单,并被指向这个有用的资源,它列出了作为 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 )

最近的安卓版本有什么变化吗?似乎其中大部分现在都是“私人资源”......找不到太多关于此的信息,但我找到了一些建议:

它用于访问私有资源。不要使用它,因为这些私有资源经常被删除/重命名/等。将来使用它很可能会破坏您的应用程序。

他们为什么要更改资源名称呢?(它们背后的图像肯定是,但名称?)那我如何访问ic_menu_login?有比上述更好的理由吗?

4

1 回答 1

16

那么如何访问 ic_menu_login 呢?

将其复制到您的应用程序中。您可以在您的 SDK 安装中找到所有这些,特别是在 中$ANDROID_HOME/platforms/$API/data/res/$ANDROID_HOME您安装 SDK 的位置在哪里,并且$API是某个 Android 级别(例如,android-2.1)。

于 2010-04-14T11:52:58.807 回答