【发布时间】:2018-01-04 19:09:38
【问题描述】:
我在我的布局中实现了一个切换按钮,并希望通过该按钮使用 Android dayNight 主题,dayNight 主题可以正常工作,但问题是当我 单击开关它不会立即工作,我必须更改活动然后它才能工作,例如如果我在一个活动中单击开关它在我按下后退按钮并移至其他活动并再次返回该活动之前不会执行任何操作,并且当我更改活动并返回时,我的开关状态始终设置为默认值,请帮助
我正在使用带有 dayNight 主题的 Android Studio
下面是我的 Switch Activity
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
setContentView(R.layout.settings_page);
DayNightt = (Switch)findViewById(R.id.dayNight_Switch);
DayNightt.setChecked(false);
DayNightt.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked){
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
}else{
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
}
}
});
super.onCreate(savedInstanceState);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}
XML 切换活动
<Switch
android:id="@+id/dayNight_Switch"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView"
android:layout_marginTop="58dp"
android:checked="false"
android:text="Switch" />
【问题讨论】:
标签: android button android-widget android-theme