我试图在我的应用程序中启用黑夜模式,虽然工作,但当我重新启动应用程序,它再次进入光模式基本上我想保存黑夜模式状态,所以当重新启动应用程序保持在黑暗模式,一旦它被设置为黑暗模式,而不是在光模式.我的相关代码如下:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view= inflater.inflate(R.layout.fragment_settings, container, false);
switchCompat= view.findViewById(R.id.switchCompat);
sharedPreferences = getActivity().getSharedPreferences("night",0);
Boolean booleanValue= sharedPreferences.getBoolean("night_mode",true);
if(booleanValue){
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
switchCompat.setChecked(true);
}
switchCompat.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
switchCompat.setChecked(true);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("night_mode",true);
editor.commit();
}else{
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
switchCompat.setChecked(false);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("night_mode",false);
editor.commit();
}
}
});
return view;
我也尝试过这个活动,但它不是保存黑暗模式的状态。
1条答案
按热度按时间bfhwhh0e1#
1.创建一个名为Preferences Manager的类
1.将此代码粘贴到类中
👇
1.然后在片段中创建一个名为preferences manager的对象,如下所示。
PreferencesManager preferencesManager = new PreferencesManager(getActivity());
1.然后像这样给它增值
如果夜间模式设置为开。
preferencesManager.putBoolean("NightMode",true);
个如果夜间模式关闭
preferencesManager.putBoolean("NightMode",false);
然后检查夜间模式是否打开或关闭,请使用此代码
编辑
或者,您也可以在此处使用my library来存储数据。