用setTheme实现日夜间模式的切换
来源:互联网 发布:网络品牌策划公司 编辑:程序博客网 时间:2024/05/22 10:51
1.在style.xml中
<style name="AppTheme.Black" parent="Theme.AppCompat"> </style>
2.在res下建anim<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:duration="0" android:fromAlpha="1.0" android:interpolator="@android:anim/decelerate_interpolator" android:toAlpha="0.0"> </alpha></set>in:
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:duration="0" android:fromAlpha="0.0" android:interpolator="@android:anim/accelerate_interpolator" android:toAlpha="1.0"> </alpha></set>utils
public class UiUtils { public static int getAppTheme(Context ctx) { String value = Preferences.getString(ctx, "activity_theme", "1"); switch (Integer.valueOf(value)) { case 1: return R.style.AppTheme;//白色主题 case 2: return R.style.AppTheme_Black; default: return R.style.AppTheme;//默认白色 } } public static void switchAppTheme( Context ctx){ String value = Preferences.getString(ctx, "activity_theme", "1"); switch (Integer.valueOf(value)){ case 1: Preferences.setString(ctx, "activity_theme", "2"); break; case 2: Preferences.setString(ctx, "activity_theme", "1"); break; default: Preferences.setString(ctx, "activity_theme", "1"); break; }}Preferences
public class Preferences { private static final String shared_name = "user_guide"; private static SharedPreferences sp; public static String getString(Context context, String key, String defaultValues) { SharedPreferences sp = context.getSharedPreferences(shared_name, context.MODE_PRIVATE); return sp.getString(key, defaultValues); } public static void setString(Context context, String key, String Values) { SharedPreferences sp = context.getSharedPreferences(shared_name, context.MODE_PRIVATE); sp.edit().putString(key, Values).commit(); }oncreate前
private int theme = 0; @Override public void onCreate(Bundle savedInstanceState) { if (savedInstanceState == null) { theme = UiUtils.getAppTheme(MainActivity.this); } else { theme = savedInstanceState.getInt("theme"); } setTheme(theme)2个方法
public void Click(View v) { UiUtils.switchAppTheme(MainActivity.this); reload(); } public void reload() { Intent intent = getIntent(); overridePendingTransition(R.anim.in, R.anim.comeout);//进入动画 finish(); overridePendingTransition(R.anim.in, R.anim.comeout); startActivity(intent); }
阅读全文
0 0
- 用setTheme实现日夜间模式的切换
- 用setTheme实现日夜间模式的切换
- 夜间模式切换——setTheme()
- 日夜间模式的切换
- 日夜间模式的切换
- 日夜间模式的切换
- Android实现日夜间模式切换
- 简单实现日夜间模式切换
- 日夜间模式切换
- 日夜间模式切换
- 日夜间模式切换
- 日夜间模式切换
- 日夜间模式切换
- 日夜间模式切换
- 日夜间模式切换
- 日夜间模式切换
- 日夜间模式切换
- 日夜间模式切换
- SSM框架Web程序的流程(Spring SpringMVC Mybatis)
- FIFO、LRU、OPT这三种置换算法的缺页次数
- 为什么Java同包目录下的类不需要引入就可以直接使用
- RequestBody/ResponseBody处理Json数据
- JavaScript[基础]
- 用setTheme实现日夜间模式的切换
- 学习HTML5 Canvas这一篇文章就够了
- 使用Git上传文件到GitHub
- Activity生命周期和Activity页面之间数据传递
- SMO算法(与另一篇结合看看,本篇讲的也不错)
- MAC运行jps命令
- 学习笔记——JAVA设计模式<22>备忘录模式
- 7筐鱼
- jdbc(java连接数据库2)