IT/안드로이드+JAVA

[안드로이드] 앱 내 다크 모드 비활성화

안경 쓴 귀니 2020. 10. 22. 23:23
반응형

 

 

삼성 최신 폰을 보면 다크 모드라고 어두운 테마를 제공한다.

다크 모드로 개발된 앱을 실행시키면 흰색 배경이 검은색 배경으로, 흰색 텍스트가 검은색 텍스트로 변경되는 등의 문제를 발견할 수 있다.

핸드폰에서 다크모드를 설정해두었더라도, 앱에서는 다크 모드를 비활성화할 수 있다.

(다크 모드 on/off 상관없이 동일하게 표시함)

 

 

Application 클래스 onCreate에 아래 코드를 추가하면 된다.

아래 코드를 추가하면 앱의 모든 화면에서 다크 모드가 비활성화된다.

1
 AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
cs

 

 

launcher activity에 적용하면, launcher activity가 두 번 실행되는 문제가 발생하므로 Application 객체에 추가해주어야 한다.

1
2
3
4
5
6
7
8
9
public class MyApplication extends Application {
    
    @Override
    public void onCreate() {
        super.onCreate();
        AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
    }
    
}
cs

 

 

 2021.12.15 확인 결과 

위 코드가 적용되지 않아 다른 방법을 찾음

https://es1015.tistory.com/453

 

[Android] 앱 다크 모드 비활성화 방법 (Dark Mode)

안드로이드 앱에서 다크 모드를 비활성화하는 방법 최신 안드로이드 스튜디오에서 프로젝트를 생성하면 다크 모드가 자동으로 지원됩니다. 다크 모드를 지원하지 않으려면 themes.xml 파일을 수

es1015.tistory.com

 

 

반응형