关于 android.R.drawable 中“私有”drawable 的澄清

2023-12-30

我正在为一个应用程序制作菜单并被指出这个有用的资源 http://androiddrawableexplorer.appspot.com/其中列出了 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 版本有什么变化吗?看来其中大多数现在都是“私人资源”......找不到太多这方面的信息,但我找到了一些建议:

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

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


那么如何访问 ic_menu_login 呢?

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于 android.R.drawable 中“私有”drawable 的澄清 的相关文章

随机推荐