アンドロイドの夜間モードはどのように実装されていますか?

Android夜间模式の適用には、以下の手順に従ってください。

  1. res/values/
  2. theme.xml
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light">
<!-- 默认主题属性 -->
</style>
<style name="AppTheme.Dark" parent="Theme.AppCompat">
<!-- 夜间主题属性 -->
</style>
</resources>
  1. AndroidManifest.xml
  2. 元々の
  3. ネイティブアプリのテーマ
<application
...
android:theme="@style/AppTheme">
...
</application>
  1. 設定アクティビティ
  2. 設定アクティビティ
  3. 切り替え設定
  4. チェックボックス プリファレンス
public class SettingsActivity extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<SwitchPreference
android:key="night_mode"
android:title="@string/night_mode"
android:summary="@string/night_mode_description"/>
</PreferenceScreen>
  1. メインアクティビティ
  2. メインアクティビティ
  3. onCreate()
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (isNightModeEnabled()) {
setTheme(R.style.AppTheme_Dark);
} else {
setTheme(R.style.AppTheme);
}
setContentView(R.layout.activity_main);
}
private boolean isNightModeEnabled() {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
return preferences.getBoolean("night_mode", false);
}

こうすることでAndroidでナイトモードを利用可能になります。ユーザーは設定画面でナイトモードの切り替えが可能で、切り替えるとMainActivityを再生成し、ナイトモードの状態に従ってテーマを切り替えます。

コメントを残す 0

Your email address will not be published. Required fields are marked *


广告
広告は10秒後に閉じます。
bannerAds