无法访问android/drawable图标资源

7

我正在创建一个Optionsmenu,为此我使用了Android图标资源。但是我无法访问它们,我做错了什么?我需要改变什么?

这是我的menu.xml代码:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@+id/Videos"
          android:icon="@android/drawable/ic_menu_view"
          android:title="Videos" />

    <item android:id="@+id/Bio"
          android:icon="@android/drawable/ic_menu_friendlist"
          android:title="Biographie" />

    <item android:id="@+id/Support"
          android:icon="@android/drawable/ic_menu_star"
          android:title="Support" />

</menu>

非常感谢提前的帮助!

3个回答

23

你的理解基本正确,在访问框架资源时,必须使用android:前缀来指定资源类型,因为你正在使用 Android 包。这意味着它不应该是:

android:icon="@android/drawable/ic_menu_view"

但是

android:icon="@android:drawable/ic_menu_view"

例如,需要将android和drawable之间的冒号修改为斜杠:


另外需要注意的是,您不能访问某些资源,因为它们不是公共资源,比如您在此处使用的ic_menu_star。您需要将它们复制到项目的drawable文件夹中,这意味着在复制后您必须通过正常的@drawable/ic_menu_star来访问它们。请参见此问题


1

尝试:

android:icon="@android:drawable/ic_menu_view"

替代方式:

android:icon="@drawable/ic_menu_view"

-2

试试这个:

<item android:id="@+id/Videos"
      android:icon="@drawable/ic_menu_view"
      android:title="Videos" />

<item android:id="@+id/Bio"
      android:icon="@drawable/ic_menu_friendlist"
      android:title="Biographie" />

<item android:id="@+id/Support"
      android:icon="@drawable/ic_menu_star"
      android:title="Support" />

我认为@android/drawable/是不正确的。你应该使用@drawable/代替。

你可以在这里查看:http://developer.android.com/guide/topics/ui/menus.html

希望这能帮到你...


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