다크모드는 Android 10 (API 레벨 29) 이상에서 제공됩니다.
* 다크모드의 장점
- 전력 사용량을 상당히 절약할 수 있습니다(기기 화면 기술에 따라 다름).
- 시력이 낮은 사용자와 밝은 빛에 민감한 사용자를 위한 가시성을 개선합니다.
- 누구나 어두운 환경에서 쉽게 기기를 사용할 수 있습니다.
기존의 안드로이드 프로젝트에 다크모드를 적용하기 위해서는 우선 2가지 준비가 필요합니다.
첫째, values-night 폴더를 생성하여 내부에 values/color.xml 파일을 복사하여 붙여넣기.
(일반모드 / 다크모드 : values / values-night)
values-night/color.xml 에 정의한 <color>~</color> 태그 속성은 다크모드일 때 사용하려는 색상값을 지정해주면 됩니다.
왼쪽(일반) : values/color.xml | 오른쪽(다크) : values-night/color.xml

둘째, values/style.xml에서 <style> 태그 내 parent 속성에 DayNight 테마를 상속하도록 처리
ex)
<기존> : <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<변경> : <style name="AppTheme" parent="Theme.AppCompat.DayNight.DarkActionBar">
간단히 준비는 끝났으니, 다크모드를 할당하고자 하는 레이아웃 요소(TextView, ListView, LinearLayout 등등)에
color 속성값을 정의해놓은 name 값을 할당한다.
ex) <TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/background_color" />
프로젝트를 실행해보면 아래처럼 다크모드 ON/OFF에 따라 레이아웃 색상이 바뀌는 것을 확인할 수 있다.

'안드로이드' 카테고리의 다른 글
안드로이드 10 버전 (targetSdkVersion: 29) 타겟팅 (0) | 2020.07.31 |
---|---|
[SSL] Retrofit2 HTTPS 통신과 TLS 1.0 / 1.1 서비스 제한 조치 (0) | 2020.07.14 |
[구글 애드몹] 광고 게재 제한 메일통보 받다.. (0) | 2020.07.04 |
[구글 콘솔] 내부 앱 공유 (정식 업데이트 전, 필수코스!) (0) | 2020.07.03 |
[애드몹 광고 에러] 에러코드 3 (ERROR_CODE_NO_FILL : 무효 트레픽) (0) | 2020.07.03 |
댓글