如何在选项菜单XML中引用Android drawable登录图标?

3

我想在我的选项菜单中使用Android内置的drawable图标。我正在使用Android 2.2,Eclipse 3.6.2。

如果在菜单XML中像这样引用登录图像:@android:drawable/ic_menu_login,我会在Eclipse中得到以下结果:

[2011-06-13 10:43:57 - HALASZ Mobil] W/ResourceType( 8380): Bad XML block: no root element node found
[2011-06-13 10:43:57 - HALASZ Mobil] C:\ANDROID\eclipse-SDK-3.6.2-win32\eclipse\Workspace\HALASZ Mobil\res\menu\main_opt_menu.xml:4: error: Error: Resource is not public. (at 'icon' with value '@android:drawable/ic_menu_login').

如果我将引用更改为标准Android.jar文件中的另一个图标,例如@android:drawable / ic_menu_info_details,则一切都可以正常工作。

有人能帮忙解决一下我可能遗漏了什么吗?谢谢。

2个回答

3
最简单的解决方法:将SDK中的可绘制对象复制到您的项目中。

记得复制HDPI、MDPI和LDPI版本! - Merkidemis

1

并非Android中的所有资源都是公开可用的(即在操作系统之外的应用程序中可用)。此drawable未被声明为公共资源,因此您无法访问它。

有一个解决方法:前往 AOSP core框架源码,将相关drawable复制到您的项目中(不同的图像分辨率将位于drawables-[hml]dpi中),并将它们作为本地drawable引用(即@drawable/ic_menu_login)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接