日夜间模式切换
来源:互联网 发布:drilldown.js 下载 编辑:程序博客网 时间:2024/05/01 09:06
//日夜间模式的例子
package com.example.day_nigth;import android.annotation.SuppressLint;import android.app.Activity;import android.content.Intent;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.graphics.PixelFormat;import android.os.Bundle;import android.view.Gravity;import android.view.View;import android.view.WindowManager;import android.view.View.OnClickListener;import android.view.WindowManager.LayoutParams;import android.widget.ImageView;import android.widget.TextView;public class MainActivity extends Activity {private WindowManager mWindowManger;// 设置夜间模式private SharedPreferences skinSp;private final static String DAY = "day";private final static String NIGHT = "night";private boolean isDay;private View myView;private ImageView imageView_night;private TextView text_night;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mWindowManger = (WindowManager) getSystemService(WINDOW_SERVICE);imageView_night = (ImageView) findViewById(R.id.image_night);text_night = (TextView) findViewById(R.id.text);imageView_night.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {if (isDay) {night();imageView_night.setImageResource(R.drawable.dayicon_leftdrawer_normal_night);text_night.setText("日间");} else {day();imageView_night.setImageResource(R.drawable.nighticon_leftdrawer_normal);text_night.setText("夜间");}isDay = !isDay;skinSp.edit().putBoolean("isDay", isDay).commit();}});init();}public void next(View v) {startActivity(new Intent(this, SecondActivity.class));}// 日间夜间模式切换private void init() {skinSp = getSharedPreferences("skinchange", MODE_PRIVATE);String mode = skinSp.getString("skin", "");if (mode != null || !mode.equals("")) {if (mode.equals(NIGHT)) {night();isDay = false;} else {day();isDay = true;}}}@SuppressLint("ResourceAsColor")private void night() {@SuppressWarnings("deprecation")// 这里必须用FILL_PARENT,不然可能改不全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.CENTER;//params.y = 10;if (myView == null) {myView = new View(this);myView.setBackgroundColor(0x80000000);}mWindowManger.addView(myView, params);Editor edit = skinSp.edit();edit.putString("skin", NIGHT);edit.commit();}private void day() {if (myView != null) {mWindowManger.removeView(myView);Editor edit = skinSp.edit();edit.putString("skin", DAY);edit.commit();}}@Overridepublic void onDestroy() {super.onDestroy();String mode = skinSp.getString("skin", "");if (mode.equals(NIGHT)) {removeSkin();}}public void removeSkin() {if (myView != null) {mWindowManger.removeView(myView);}}}
0 0
- 日夜间模式切换
- 日夜间模式切换
- 日夜间模式切换
- 日夜间模式切换
- 日夜间模式切换
- 日夜间模式切换
- 日夜间模式切换
- 日夜间模式切换
- 日夜间模式切换
- 日夜间模式切换
- 日夜间模式切换
- Android 切换日夜间模式
- 日夜间模式的切换
- 轻松切换日夜间模式
- 日夜间模式的切换
- 日夜间模式的切换
- Android日夜间模式切换
- Android日夜间切换模式
- #123 – Coercing a Dependency Property(强制转换依赖属性的值)
- Android Studio Gradle 缓存文件夹设置
- Android DrawerLayout 高仿QQ5.2双向侧滑菜单
- 怎么让Beyond Compare保存快照和CRC比较相结合
- C,C++表达式中含++的求值顺序
- 日夜间模式切换
- Ant时间戳变量的使用
- JDBC 笔记(4)
- jdk各版本下载
- aspnet调用sqlserver分页存储过程
- 新建安卓项目运行出现AndroidMainFest.xml file missing!
- 开篇 , 给自己的话!
- 日期校验
- 机器学习算法及其并行化讨论