继承Application初始化public boolean isNight;
public class DayActivity extends Activity {
protected View mCoverView;@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_day);
Myapplic app = getApp();
// 判断是否为夜间模式
if (app.isNight) {
nightMode();
} else {
// 日间模式
dayMode();
}
}
/**
* 日间模式
*/
protected void dayMode() {
getApp().isNight=false;
if (mCoverView != null) {
getWindowManager().removeViewImmediate(mCoverView);
}
}
/**
* 夜间模式
*/
protected void nightMode() {
getApp().isNight=true;
if (mCoverView == null) {
// 如果不存在,则创建一个
mCoverView = new View(this);
mCoverView.setBackgroundColor(0x80000000);
}
// 撑满屏幕
int matchParent = WindowManager.LayoutParams.MATCH_PARENT;
// application类型
int typeApp = WindowManager.LayoutParams.TYPE_APPLICATION;
// 不可触摸
int noTouchable = WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;
// 不可获得焦点
int noFocusable = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
// 透明
int translucent = PixelFormat.TRANSLUCENT;
// 构建参数
WindowManager.LayoutParams params = new WindowManager.LayoutParams(matchParent, matchParent, typeApp,
noTouchable | noFocusable, translucent);
// 添加到window
getWindowManager().addView(mCoverView, params);
}
private Myapplic getApp() {
return ((Myapplic) getApplication());
}
}
}
//点击事件
public void Yejian(View v) {
String a = btn.getText().toString();
if (a.equals("夜")) {
nightMode();
btn.setText("日");
} else if (a.equals("日")) {
dayMode();
btn.setText("夜");
}