找不到与给定名称匹配的资源:attr' middleBarArrowSize'

时间:2015-10-23 07:25:16

标签: android android-studio android-gradle

我已经在styles.xml

中手动赋值给了item

看起来像下面

enter image description here

<item name="middleBarArrowSize">16.0dip</item>
<item name="topBottomBarArrowSize">11.309998dip</item>
<item name="disableChildrenWhenDisabled">true</item>

也在某些地方

<item name="cardBackgroundColor">@color/cardview_light_background</item>
 <item name="cardBackgroundColor">@color/cardview_light_background</item>

但是在colors.xml中,我声明了像

这样的值
<color name="cardview_dark_background">#ff202020</color>
<color name="cardview_light_background">#fffafafa</color>
<color name="cardview_shadow_end_color">#03000000</color>
<color name="cardview_shadow_start_color">#37000000</color>
<color name="common_action_bar_splitter">#ffd2d2d2</color>

截图如下

enter image description here

我搜索了很多网站

No resource found that matches the given name: attr 'homeHint'

No resource found that matches the given name: attr 'colorPrimary'

No resource found that matches the given name: attr 'android:tabLayout'

Android Studio : No resource found that matches the given name: attr 'android:actionModeShareDrawable'

Execution failed app:processDebugResources Android Studio

但没有对我有帮助

任何人都会建议我为什么会收到此错误以及此

的解决方案是什么

2 个答案:

答案 0 :(得分:1)

这是有效的原因:

<item name="cardBackgroundColor">@color/cardview_light_background</item>

但这并不是:

<item name="middleBarArrowSize">16.0dip</item>

是因为在android.support.v7.cardview包中声明了cardBackgroundColor,您的项目将依赖于该包。如果你打开,这很容易确认:

<sdk_path>/extras/android/support/v7/cardview/res/values/attrs.xml

除此之外,您还可以找到:

<resources>
    <declare-styleable name="CardView">
        <!-- Background color for CardView. -->
        <attr name="cardBackgroundColor" format="color" />
        ...
    </declare-styleable>
</resources>

根据您提供的代码,middleBarArrowSize尚未在任何地方宣布。要使用自定义属性,必须先声明它(与上面类似)。

此过程解释为in the docs here,结果如下:

<强> RES /值/ attrs.xml

<resources>
   <declare-styleable name="MyCustomAttributes">
       <attr name="middleBarArrowSize" format="dimension" />
       <attr name="topBottomBarArrowSize" format="dimension" />
       <attr name="disableChildrenWhenDisabled" format="boolean" />
       <!-- add more here -->
   </declare-styleable>
</resources>

完成后,您应该能够在项目中使用声明的属性。

  

但是在colors.xml中我声明了像(...)

这样的值

属性颜色之间存在差异。颜色是,而属性是您可以分配值(即颜色或字符串等)。

答案 1 :(得分:1)

如果找不到某些资源,例如

compile "com.android.support:cardview-v7:23.2.0"

enter image description here

目前,您首先检查values-v24build.gradle

dependencies {
    compile "com.android.support:support-v4:24.2.0"
    compile "com.android.support:support-v13:24.2.0"
    compile "com.android.support:cardview-v7:24.2.0"
}

如果您的文件名版本与dependencies api版本相同,则可以轻松解决此类错误。

例如

com.android.support:cardview-v7:24.2.0适用于values-v24 res文件夹