我正在设计一个XML菜单:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:icon="@android:drawable/ic_menu_preferences" android:title="@string/menu_preferences" android:id="@+id/menu_preferences"/>
<item android:id="@+id/menu_bookmarks" android:title="@string/menu_bookmarks" android:icon="@android:drawable/ic_menu_star"></item>
<item android:title="@string/menu_history" android:id="@+id/menu_history" android:icon="@android:drawable/ic_menu_recent_history"></item>
</menu>
当我尝试使用android drawbale ic_menu_star时,我的eclipse会抛出一个错误:
[2011-07-06 00:52:28 - Testapp] W/ResourceType( 1852): Bad XML block: header size 51 or total size 3342532 is larger than data size 0
[2011-07-06 00:52:28 - Testapp] C:\eclipseprojects\Testapp\res\menu\search_menu.xml:4: error: Error: Resource is not public. (at 'icon' with value '@android:drawable/ic_menu_star').
我已经检查了我的项目中的android资源,它就在那里。我正在android 2.1框架上构建我的项目。这是一个错误吗?
答案 0 :(得分:8)
Android包中的一些drawable未声明为public,并且不能以这种方式引用。
使用这个drawable的唯一方法是将它复制到你自己的drawable目录中并在那里引用它。
修改:Google已向Android Developer site添加了一包操作栏图标。
答案 1 :(得分:3)