2017-11-27 9 views
0

Android를 배우려고하는데, 이제 Android 프로젝트에서 색상을 변경하려고합니다.color.xml에서 색상을 변경하려고 시도한 후 오류가 발생했습니다.

<resources> 
    <color name="primaryColor">#d81b60</color> 
    <color name="primaryLightColor">#ff5c8d</color> 
    <color name="primaryDarkColor">#a00037</color> 
    <color name="primaryTextColor">#ffffff</color> 
</resources> 

내 style.xml : 여기에

나는 내 color.xml을 변경, 내가 무엇을

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="primaryColor">@color/primaryColor</item> 
    <item name="primaryLightColor">@color/primaryLightColor</item> 
    <item name="primaryDarkColor">@color/primaryDarkColor</item> 
    <item name="primaryTextColor">@color/primaryTextColor</item> 
</style> 

하지만 실행하려고하면 나는 (이 오류의) :

그래서

enter image description here

, 어떻게 그것을 해결할 수 있습니까?

이미이 시도 :이 태그가 사용되는 스타일로

  1. Android Studio does not find color style resource

  2. Android Studio can't find color reference within the same resource file

+0

'안드로이드 사용해보십시오 : : 색상/primaryColor' –

+0

당신을했다 그래서

enter image description here

를, 당신은 다음과 같은 것이로 변경해야 응용 프로그램 라이브러리를 gradle 파일의 종속성에 추가 하시겠습니까? –

답변

0
<item name="colorPrimary">@color/colorPrimary</item> 
<item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
<item name="colorAccent">@color/colorAccent</item> 

가 colorPrimary 악센트와 primaryDark

을 지정

당신은 attrs.xml 에서 값이을 폴더를 만들 필요가 .. 더 구체적인 변화

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <!-- Customize your theme here. --> 
     <item name="colorPrimary">@color/primaryColor</item> 
     <item name="colorPrimaryDark">@color/primaryDarkColor</item> 
     <item name="colorAccent">@color/primaryAcentColor</item> 
    </style> 
0

여기 당신은 간다 같은 스타일의 XML 수 있습니다.

이 파일의 모든 참조 색을 언급하십시오.

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <attr name="primaryColor"></attr> 
    <attr name="primaryLightColor"></attr> 
    <attr name="primaryDarkColor"></attr> 
    <attr name="primaryTextColor"></attr> 
</resources> 

이제 직접 style.xml

예를 들어, 귀하의 색상을 사용할 수 있습니다

<resources xmlns:android="http://schemas.android.com/tools"> 

    <!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <!-- Customize your theme here. --> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorAccent</item> 
     <item name="primaryColor">@color/primaryColor</item> 
     <item name="primaryLightColor">@color/primaryLightColor</item> 
     <item name="primaryDarkColor">@color/primaryDarkColor</item> 
     <item name="primaryTextColor">@color/primaryTextColor</item> 
    </style> 

</resources> 
0

당신은 당신의 스타일이 아닌 존재의 속성을 정의하려고 :

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="primaryColor">@color/primaryColor</item> 
    <item name="primaryLightColor">@color/primaryLightColor</item> 
    <item name="primaryDarkColor">@color/primaryDarkColor</item> 
    <item name="primaryTextColor">@color/primaryTextColor</item> 
</style> 

primaryColor, primaryLightColor, primaryDarkColorprimaryTextColor을이 없습니다. 올바른 속성은 colorPrimary, colorPrimaryDark, colorPrimaryLighttextColorPrimary입니다. 이 이미지는 당신에게 (Using the material theme에서) 속성이 표시됩니다 :

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/primaryColor</item> 
    <item name="colorPrimaryLight">@color/primaryLightColor</item> 
    <item name="colorPrimaryDark">@color/primaryDarkColor</item> 
    <item name="textColorPrimary">@color/primaryTextColor</item> 
</style>