안드로이드 스튜디오

안드로이드 스튜디오 drawble xml 색상 적용 안됨

크론크롱 2021. 4. 13. 17:48
반응형

4.1.1 버전부터는 테마의 기본값이 Theme.MaterialComponents.DayNight.DarkActionBar 로 변경됨에 따라 drawable 에서 지정한 색상이 적용이 안되는 경우가 있다.

 

위와같이, bt_blue.xml 을 만들어 색상을 #3a5994 색상으로 변경한 뒤,

 

백그라운드의 색상을 btn_blue로 적용하였으나, 우측의 미리보기 또는 어플리케이션을 실제 띄웠을 때, 적용이 되지않는 경우 안드로이드 스튜디오 내 앱의 테마 값을 변경해줌으로써 해결할 수 있다.

 

 

테마 파일로 이동하여, 세번째 라인의 parent 값을 "Theme.AppCompat.Light" 로 변경하여주면 정상적으로 확인이 가능하다.

 

기존소스

<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Theme.Sample" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
        <!-- Primary brand color. -->
        <item name="colorPrimary">@color/purple_500</item>
        <item name="colorPrimaryVariant">@color/purple_700</item>
        <item name="colorOnPrimary">@color/white</item>
        <!-- Secondary brand color. -->
        <item name="colorSecondary">@color/teal_200</item>
        <item name="colorSecondaryVariant">@color/teal_700</item>
        <item name="colorOnSecondary">@color/black</item>
        <!-- Status bar color. -->
        <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
        <!-- Customize your theme here. -->
    </style>
</resources>

 

변경소스

<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Theme.Sample" parent="Theme.AppCompat.Light">
        <!-- Primary brand color. -->
        <item name="colorPrimary">@color/purple_500</item>
        <item name="colorPrimaryVariant">@color/purple_700</item>
        <item name="colorOnPrimary">@color/white</item>
        <!-- Secondary brand color. -->
        <item name="colorSecondary">@color/teal_200</item>
        <item name="colorSecondaryVariant">@color/teal_700</item>
        <item name="colorOnSecondary">@color/black</item>
        <!-- Status bar color. -->
        <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
        <!-- Customize your theme here. -->
    </style>
</resources>

3번째 라인의 내용이 변경됨

 

 

값이 정상적으로 변경되었다.

 

 

찾다 찾다 stackoverflow 에서 동일한 질문이 올라와있어 찾게되었다.

stackoverflow.com/questions/65477334/android-button-background-color-not-changing-on-xml

 

Android Button background color not changing on xml

Android Stidio 4.1.1 SDK 29 (Android 10) I trying to change button background color on xml, but it doesn't changed. here's my code stackoverflow.com

 

반응형