码迷,mamicode.com
首页 > 其他好文 > 详细

设置主题,夜间模式,按钮点击事件主题由白色变黑色

时间:2017-01-14 22:55:06      阅读:383      评论:0      收藏:0      [点我收藏+]

标签:click   cte   span   界面   体验   row   事件   toggle   override   

 

 

下面是错误的代码:主题不会更改

原因:从桌面打开的Activity 会自动打开一个任务栈

技术分享

   <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <!--toolbar小汉堡样式-->
        <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
        <item name="android:windowBackground">@android:color/white</item>
    </style>

    <style name="AppTheme.Black">
        <item name="android:windowBackground">@android:color/black</item>
    </style>

    <!--小汉堡颜色为白色-->
    <style name="DrawerArrowStyle" parent="@style/Widget.AppCompat.DrawerArrowToggle">
        <item name="color">@android:color/white</item>
    </style>

 

下面代码如果取消动画的话,点击完会先执行切换页面动画,再执行设置主题;用户体验不好


           private static int mTheme = -1;


           @Override
           protected void onCreate(Bundle savedInstanceState) {


          // 设置主题,必须在 super.onCreate 之前执行
          if (mTheme!=-1){
               setTheme(mTheme);
          }


          super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);


         findViewById(R.id.btn_default).setOnClickListener(this);
             findViewById(R.id.btn_black).setOnClickListener(this);

         }


@Override
public void onClick(View v) { switch (v.getId()){ case R.id.btn_default: mTheme = R.style.AppTheme; break; case R.id.btn_black: mTheme = R.style.AppTheme_Black; break; } Intent intent = new Intent(this,MainActivity.class); startActivity(intent); // 设置转场动画,不设置的话 切换界面 会执行动画 overridePendingTransition(0,0);
finish(); overridePendingTransition(
0,0
);//退出时候的动画 }

 

设置主题,夜间模式,按钮点击事件主题由白色变黑色

标签:click   cte   span   界面   体验   row   事件   toggle   override   

原文地址:http://www.cnblogs.com/Oldz/p/6286196.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!