• 白天黑夜模式转换


    public class MainActivity extends Activity{

        private WindowManager wm;

        private View myView;

        private Button button;

        private SharedPreferences sp;

        private final static String DAY = "day";

        private final static String NIGHT = "night";

        private int flage = 0;


        @Override

        protected void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);

            setContentView(R.layout.activity_main);

            sp = this.getSharedPreferences("skinchange", Context.MODE_PRIVATE);

            button = (Button) findViewById(R.id.btn_dayAndnight);

            String mode = sp.getString("skin", "");

            if(mode!=null||!mode.equals("")){

                if(mode.equals(NIGHT)){

                    night();

                }else{

                    day();

                }

            }

            button.setOnClickListener(new OnClickListener() {

                
                @Override
                public void onClick(View v) {

            SharedPreferences sp2=getSharedPreferences("aa", MODE_APPEND);
                    int flage=sp2.getInt("bb", 0);
                    if(flage%2==0){

                        night();

                        button.setText("白天模式");

                        button.setTextColor(Color.WHITE);

                        flage++;

                    }else{

                        day();

                        button.setText("夜间模式");

                        button.setTextColor(Color.BLACK);

                        flage++;

                    }

            SharedPreferences sp1=getSharedPreferences("aa", MODE_APPEND);
                    Editor ed=sp1.edit();
                    ed.putInt("bb", flage);
                    ed.commit();
        
                }

            });

        }
        
    public void night() {

            WindowManager.LayoutParams params = new WindowManager.LayoutParams(
                    LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT,
                    LayoutParams.TYPE_APPLICATION,
                    WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
                            | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
                    PixelFormat.TRANSLUCENT);
            params.gravity=Gravity.BOTTOM;
            params.y=10;
            if(myView==null){
                myView=new TextView(this);
                myView.setBackgroundColor(0x80000000);
            }
            wm.addView(myView, params);
            Editor edit = sp.edit();
            edit.putString("skin", NIGHT);
            edit.commit();
        }

        public void day(){
            if(myView!=null){
                wm.removeView(myView);
                Editor edit = sp.edit();
                edit.putString("skin", DAY);
                edit.commit();
            }
        }
    }

  • 相关阅读:
    利用vuex 做个简单的前端缓存
    EFcore 解决 SQLite 没有datetime 类型的问题
    dotnet 清理 nuget 缓存
    .net 5 单文件模式发布异常 CodeBase is not supported on assemblies loaded from a single-file bundle
    ubuntu 开启ip转发的方法
    Vue-ECharts 6 迁移记录
    System.Text.Json 5.0 已增加支持将Enum 由默认 Number类型 转换为String JsonStringEnumConverter
    Windows 10 LTSC 2019 正式版轻松激活教程
    Mac 提示Permission denied
    苹果手机代理 charles 提示(此链接非私人连接)
  • 原文地址:https://www.cnblogs.com/wbp0818/p/5303698.html
Copyright © 2020-2023  润新知