1.定义主体颜色:

在style自定义了三个属性:

 @android:color/white @color/colorPrimaryDarkNight @color/gray

他们并不是android自由的属性,他们是我自定义的属性。他们的定义写在attrs.xml里面

            

在这里定义过后,就可以在xml中直接使用,只需要引用进去就好
eg. android:background="?attr/appbg"

这样背景色就自动转换成了你设置的这个属性值。

2.设置主题颜色

activity 提供了一个方法 setTheme(int id) ,但是要注意这个要在 setContentView(int id) 之前调用。就是说我们要在视图显示之前就把颜色切换掉。也就是需要重启当前的activity。
除此之外,之前渲染过的视图也需要进行处理,也就是处理那些 “过时” 的 activity。我这里用的方法是清空我们的 back stack。

final Intent themeintent = getIntent();                themeintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);                startActivity(themeintent);

FLAG_ACTIVITY_NEW_TASK 是为要启动的activity新建一个任务堆栈。
FLAG_ACTIVITY_CLEAR_TASK 任何放置该activity的已存在的task里面 的activity都被清空。也就是清空过时的activity。

转载于:https://www.cnblogs.com/ruyan-yang/p/9101493.html

更多相关文章

  1. Android(安卓)自定义滚动选择日期
  2. 在使用simpleadapter下在list当中添加一个button的消息响应
  3. Android自定义SeekBar样式,遇到的进度条高度问题
  4. Android(安卓)属性动画(Property Animation)完全解析 (下)
  5. Android自定义控件之测量onMeasure
  6. URI数据匹配
  7. Android(安卓)JNI代码
  8. Android基础之Android动画
  9. Android(安卓)的 system property service

随机推荐

  1. Android05
  2. Android常用三栏式滑动/滚动视图(View)的
  3. 服务端和Android客户端利用Socket传输JSO
  4. android Listview中button 和Listview可
  5. Android中使用【microlog4】进行日志存储
  6. Android实现TextView部分文本监听单击事
  7. Android实现微信右上角弹出的菜单
  8. Android底部导航 BottomNavigationBar(Goo
  9. Android(安卓)获取手机号码
  10. Android(安卓)frameworks添加资源后编译