Android Studio:无法指定可绘制资源

时间:2015-09-20 21:40:22

标签: android android-studio drawable

我正在尝试为操作栏指定菜单图标。我正在使用Android Studio 1.2。我的XML代码如下:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      xmlns:tools="http://schemas.android.com/tools"
      tools:context=".MainActivity">
    <item
        android:id="@+id/menu_connect"
        android:icon="@drawable/ic_settings_bluetooth_white_24dp.png"
        android:title="@string/menu_connect"
        app:showAsAction="always"
        />
    <item
        android:id="@+id/menu_settings"
        android:title="@string/menu_settings"
        app:showAsAction="never"
        />
</menu>

编译器抱怨我在“android:icon =”之后添加的任何内容。根据我上次更改的内容,我得到:“找不到与给定名称匹配的资源”或“不允许使用字符串类型”(以及其他错误)。

我已尝试过多个帖子的建议。我清除了Intellij缓存并重建了所有内容而没有任何改变。一篇文章提示,早期的API版本可能不支持android:icon,所以我在我的模块构建脚本中将minSdkVersion设置为23(我当前的SDK版本)。我重新同步,再没有任何改变。

我在确定如何为多个分辨率位图设置可绘制目录时遇到了一些麻烦。 (为什么Android Studio在创建新项目时不创建它们?)我现在将它们(drawable-hdpi等)设置为可绘制目录的兄弟。我认为这是对的。至少它们在Android目录视图中看起来是正确的。是的,我是新手。

还有什么可以尝试吗?

1 个答案:

答案 0 :(得分:0)

替换:

android:icon="@drawable/ic_settings_bluetooth_white_24dp.png"

使用:

android:icon="@drawable/ic_settings_bluetooth_white_24dp"

从Android内部的任何位置引用资源时,您都不使用文件扩展名。