找不到与给定名称drawable tab_unselected匹配的资源

时间:2013-12-06 20:22:32

标签: android xml eclipse

我一直在做Android版谷歌教程

http://developer.android.com/training/index.html

我在这一节:

http://developer.android.com/training/basics/actionbar/styling.html

我在drawable文件夹中创建了一个文件,在教程中命名为actionbar_tab_indicator.xml,我收到错误no resource found that matches the given name (at @drawable with the value @drawable/tab_unselected(我对该文件中的所有@drawable项也有此错误)

actionbar_tab_indicator.xml的代码:

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

<!-- STATES WHEN BUTTON IS NOT PRESSED -->

    <!-- Non focused states -->
    <item android:state_focused="false" android:state_selected="false"
          android:state_pressed="false"
          android:drawable="@drawable/tab_unselected" />
    <item android:state_focused="false" android:state_selected="true"
          android:state_pressed="false"
          android:drawable="@drawable/tab_selected" />

    <!-- Focused states (such as when focused with a d-pad or mouse hover) -->
    <item android:state_focused="true" android:state_selected="false"
          android:state_pressed="false"
          android:drawable="@drawable/tab_unselected_focused" />
    <item android:state_focused="true" android:state_selected="true"
          android:state_pressed="false"
          android:drawable="@drawable/tab_selected_focused" />


<!-- STATES WHEN BUTTON IS PRESSED -->

    <!-- Non focused states -->
    <item android:state_focused="false" android:state_selected="false"
          android:state_pressed="true"
          android:drawable="@drawable/tab_unselected_pressed" />
    <item android:state_focused="false" android:state_selected="true"
        android:state_pressed="true"
        android:drawable="@drawable/tab_selected_pressed" />

    <!-- Focused states (such as when focused with a d-pad or mouse hover) -->
    <item android:state_focused="true" android:state_selected="false"
          android:state_pressed="true"
          android:drawable="@drawable/tab_unselected_pressed" />
    <item android:state_focused="true" android:state_selected="true"
          android:state_pressed="true"
          android:drawable="@drawable/tab_selected_pressed" />
</selector>

所以我的问题是,tab_unselected和其他所有资源,png是什么类型的资源?这应该是Eclipse在这里抓取这些文件

<selector xmlns:android="http://schemas.android.com/apk/res/android">

我该如何解决这个问题?

THX

3 个答案:

答案 0 :(得分:1)

tab_unselected只是另一个xml可绘制文件,您需要在drawable目录中定义它。

例如,您需要在tab_unselected.xml文件夹中放置drawable文件 - https://github.com/syxc/TabDemo/blob/master/res/drawable/tab_unselected.xml

同样适用于tab_selected drawable

答案 1 :(得分:0)

又一个Googlemare Landmine ......

我今天解决了同样的问题: 不知何故,如果你陷入困境,.gen文件上的图标行就会消失。 (经过2小时奋斗后我的经验证明)

在hdpi文件夹中插入一个新图标72x72图标,其名称与原始名称不同,并更新清单上的名称。

图标以某种方式在Gen文件上复活并瞧!!是时候继续前进了。

同样适用于可绘制资源。

答案 2 :(得分:0)

如前所述,“@ drawable /”后面的每个文件都是需要放在drawable文件夹中的xml文件。

Google的android Git存储库的drawable文件夹链接在这里提供了所需的xml文件示例 https://android.googlesource.com/platform/packages/apps/Dialer/+/idea133/res/drawable

(您还需要定义(或查找)某些资源,例如可能在这些xml文件中使用的颜色)