夜间模式
2017-10-07 18:19 wang_chunqi 阅读(375) 评论(0) 收藏 举报下面是代码:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private TextView tv;
//默认是日间模式
private int theme=R.style.AppTheme; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//判断是否有主题存储(一定要放到setContentView();方法之前设置。)
if (savedInstanceState!=null){
theme=savedInstanceState.getInt("theme");
setTheme(theme);
}
setContentView(R.layout.activity_main);
tv=(TextView)findViewById(R.id.tv);
//设置点击事件
tv.setOnClickListener(this);
}
//根据点击事件,完成日夜间模式切换;
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.tv:
//切换日间模式代码
//括号里属于判断,如果是true,执行第一(也就是冒号之前)
//如果是flase执行第二个(冒号后面的)
//三元运算符比if else效率高
theme = (theme == R.style.AppTheme) ? R.style.NightAppTheme : R.style.AppTheme;
recreate();
break;
}
} /* @Override
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState, outPersistentState);
outState.putInt("theme",theme);//存属性
}*/
//比较上面和下面的这两个什么区别;
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("theme",theme);
} @Override
public void onRestoreInstanceState(Bundle savedInstanceState, PersistableBundle persistentState) {
super.onRestoreInstanceState(savedInstanceState, persistentState);
theme = savedInstanceState.getInt("theme");//取属性
}
}
浙公网安备 33010602011771号