안드로이드 스튜디오
안드로이드 스튜디오 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
반응형