夜间模式

来源:互联网 发布:工作周报表 知乎 编辑:程序博客网 时间:2024/05/16 01:11
public class ThreeActivity extends FragmentActivity {    // 覆盖在最上面的View    protected View mCoverView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_three);        MyAppation 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);            // argb            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 MyAppation getApp() {        return ((MyAppation) getApplication());    }
// 夜间    public void YJ(View v) {        String day=btn.getText().toString();        if(day.equals("夜")){            nightMode();            btn.setText("日");            textView.setText("白天模式");        }else if(day.equals("日")){            dayMode();            btn.setText("夜");            textView.setText("夜间模式");        }    }    ```

“`

//继承Application
public class MyAppation extends Application{

public boolean isNight;@Overridepublic void onCreate() {    super.onCreate();}

}

0 0