澄清android.R.drawable中的'private'drawables

时间:2010-04-14 11:12:41

标签: android resources drawable

我正在为一个应用程序制作一个菜单,并指向this useful resource,其中列出了作为android 2.0 jar一部分的所有drawable。给出的用法示例是

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版本有什么变化吗?似乎大多数现在都是“私人资源”......在这方面找不到太多信息,但我找到了一些建议:

  

它用于访问私人   资源。不要因为这些而使用它   私人资源往往是   删除/重命名/等。使用它会   最有可能打破你的应用程序   将来

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

1 个答案:

答案 0 :(得分:12)

  

如何访问ic_menu_login?

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