找不到与给定名称匹配的资源(' colorAccent'值为' @ color / Accent')

时间:2016-06-20 09:01:47

标签: android xml

我开发了一个Android应用,但我得到了几乎完全相同的错误,如here with:找不到匹配给定名称的资源(' colorAccent'值为' @Color / accent')。

如此描述(链接)我的项目中没有colors.xml文件。但我在我的Android.sdk中发现我有两个colors.xml文件。我应该使用其中一种吗?或者我是否必须创建一个新的colors.xml文件。如果我必须创建一个新文件,你能告诉我我要写入文件的内容吗?

我是Programm的初学者。应用程序开发,所以我希望你对我有一点了解。我使用Visual Studio和Xamarin v4.1

我希望有人能帮助我;)

在这里,您可以看到我的Strings.xml代码文件:

<?xml version="1.0" encoding="utf-8" ?>
<resources>
  <style name="MyTheme" parent="MyTheme.Base">
  </style>
  <style name="MyTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <!--If you are using revision 22.1 please use just windowNoTitle. Without android:-->
    <item name="windowNoTitle">true</item>
    <!--We will be using the toolbar so no need to show ActionBar-->
    <item name="windowActionBar">false</item>
    <!-- Set theme colors from http://www.google.com/design/spec/style/color.html#color-color-palette-->
    <!-- colorPrimary is used for the default action bar background -->
    <item name="colorPrimary">#00FFAA</item>
    <!-- colorPrimaryDark is used for the status bar -->
    <item name="colorPrimaryDark">#004D40</item>
    <!-- colorAccent is used as the default value for colorControlActivated
     which is used to tint widgets -->
    <item name="colorAccent">@color/accent</item>
    <!-- You can also set colorControlNormal, colorControlActivated
     colorControlHighlight and colorSwitchThumbNormal. 
    <item name="colorControlNormal">#00897B</item>
    <item name="colorControlActivated">#1DE9B6</item>-->
    <item name="windowActionModeOverlay">true</item>
  </style>
</resources>

6 个答案:

答案 0 :(得分:7)

您需要使用以下内容创建自己的颜色(values / colors.xml):

if([application respondsToSelector:@selector(registerUserNotificationSettings:)]) {
    UIUserNotificationSettings* notificationSettings =   [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil];

    [[UIApplication sharedApplication] registerUserNotificationSettings:notificationSettings];
}

将“white”替换为最适合您的内容,您可以使用@ color / colorAccent在布局xmls中访问它,或者使用java作为R.color.colorAccent

访问它

答案 1 :(得分:3)

将此代码添加到您的/res/values/colors.xml

<resources>   
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>
</resources>

答案 2 :(得分:1)

在我的案例中有用的是/res/values/colors.xml:

<?xml version='1.0' encoding='utf-8'?>
<resources>
    <color name="red">#FF0000</color>
</resources>

在文件AndroidManifest.xml中

<meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/red" />

请记住,您需要通过编辑android.json文件在这些xml中实现这些值。欢呼声。

答案 3 :(得分:0)

我使用离子5遇到了这个问题。

我只需要一个快速的解决方案,因此它对我有用:

添加到AndroidManifes.xml

<meta-data android:name="com.google.firebase.messaging.default_notification_color" android:value="#FF4081"/>

答案 4 :(得分:0)

我知道这是一个古老的线程,但是....

@color/colorAccent 更现代的替代品是使用 ?attr/colorAccent。这将使用当前主题的任何强调色。

以下是布局 XML 文件的示例:

android:textColor="?attr/colorAccent"

答案 5 :(得分:-1)

您应该使用自己的 colors.xml (在res \ values文件夹中)。如果您想使用Android标准颜色,可以在下一个方式使用它们(例如):

<item name="testColor">@android:color/white</item>