Activity 跳转间出现短暂黑屏问题

activity跳转间会出现短暂黑屏,此时可能会出现以下三张情况。


1.activity页面加载数据过多,导致的短暂黑屏现象;

2.PopupWindow控件引起的短暂黑屏现象;

3.跳转或被跳转的avtivity启动模式为launchMode==“singleInstance”;


解决办法:


情况1或者3:

  your_project/res/values/styles.xml中加入自定义Activity的Theme,然后引入你的Activity中:      

          

         

           true //此句是重点

         


    这样在跳转加载页面时,会先加载透明页,等数据加载出来后,才显示页面,解决黑屏为题,也可以不设置透明,而是加载透明的背景页,两者比较前者给用户的感觉慢了一点,后者则很快。


情况2

    在你所有设置了透明度的地方,调用下面这个方法,即可。

/**
 * 设置之后,防止activity跳转间出现黑屏问题
 *
 * @param bgAlpha
    */
public void backgroundAlpha(float bgAlpha)
{
   WindowManager.LayoutParams lp = getWindow().getAttributes();
   lp.alpha = bgAlpha;
   if (bgAlpha == 1) {
      getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//不移除该Flag的话,可能出现黑屏的bug
   } else {
      getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//此行代码主要是解决在华为手机上半透明效果无效的bug
   }
   getWindow().setAttributes(lp);
}





你可能感兴趣的:(Android)