반응형
Android darkmode disable code
안드로이드에 다크모드가 추가되면서 프로젝트내에 나이트 테마가 추가되었다.
언제부터인지 모르겠지만, 아무생각 없이 개발을 하다 보면 다크모드인 기기에서 큰 이슈가 발생한다.
예를 들어 글씨를 검정색으로 했는데 다크모드에서는 글씨가 전혀 보이지 않는다거나.. 등등
이럴 때 프로젝트 상 굳이 다크모드를 적용하고 싶지 않은 경우 코드의 테마를 바꾸어 주면 된다.
<style name="Theme.sample" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/black</item>
<item name="colorPrimaryVariant">@color/black</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>
해당 테마는 원본 테마이며 이 테마의 parent만 바꾸어 주면 된다
<style name="Theme.sample" parent="Theme.MaterialComponents.Light.NoActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/black</item>
<item name="colorPrimaryVariant">@color/black</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>
parent를 Light로 변경해주면 다크모드가 적용된 기기에서도 앱의 테마는 다크모드를 따라가지 않는다
반응형
'[# 2]…My DevelopStory' 카테고리의 다른 글
안드로이드 엑티비티 / 프레그먼트 라이프사이클 ~ Android Activity / Fragment LifeCycle (0) | 2022.12.05 |
---|---|
안드로이드 4대 컴포넌트 ~ Android Component (0) | 2022.12.04 |
Android kotlin pair ~ How to modify a value in a pair (0) | 2022.06.29 |
Android Log Lib ~ Timber Lib (0) | 2022.06.29 |
Android Force Update Check ~ Google InApp update lib (1) | 2022.06.24 |