본문 바로가기
개발

안드로이드 코틀린으로 나이트 모드 적용하는 방법

by 농담곰이 2023. 5. 6.
반응형

안드로이드에서 코틀린을 사용하여 나이트 모드를 적용하는 방법을 설명하겠습니다. 나이트 모드를 구현하려면 다음 단계를 따르세요.

1. 앱의 `styles.xml` 파일에서 애플리케이션 테마를 수정합니다.

`res/values/styles.xml` 파일을 열고 애플리케이션 테마를 `DayNight` 테마로 변경합니다.

```xml
<style name="AppTheme" parent="Theme.AppCompat.DayNight">
    <!-- Customize your theme here. -->
</style>
```


2. 나이트 및 데이 모드를 위한 리소스 정의:

리소스 폴더에 다음과 같이 나이트 및 데이 모드에 대한 리소스를 정의합니다.

- `res/values/colors.xml`: 데이 모드에 사용할 색상 값
- `res/values-night/colors.xml`: 나이트 모드에 사용할 색상 값

예를 들어 다음과 같이 두 파일에 색상을 정의할 수 있습니다.

`res/values/colors.xml`:

```xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>
    <color name="textColor">#000000</color>
    <color name="backgroundColor">#FFFFFF</color>
</resources>
```

`res/values-night/colors.xml`:

```xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>
    <color name="textColor">#FFFFFF</color>
    <color name="backgroundColor">#000000</color>
</resources>
```

3. 액티비티 또는 프래그먼트에서 나이트 모드 활성화/비활성화:

액티비티 또는 프래그먼트에서 나이트 모드를 활성화하려면 `AppCompatDelegate` 클래스의 `setDefaultNightMode()` 메서드를 호출합니다.

예를 들어, 나이트 모드를 활성화하려면 다음 코드를 사용합니다.

```kotlin
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
```

반대로 나이트 모드를 비활성화하려면 다음 코드를 사용합니다.

```kotlin
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
```

시스템 설정에 따라 나이트 모드를 설정하려면 다음 코드를 사용합니다.

```kotlin
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM)
```

4. 앱을 실행하여 나이트 모드를 확인합니다.

이제 나이트 모드가 앱에 적용되었습니다. 앱을 실행하고 나이트

반응형

댓글