dtcms 模板下载 WebStorm typeAliases web开发 macos api recursion mobile graph sass yii vue绑定点击事件 后台页面模板 支付网站建设 jq选择子元素 mysql操作日志 idea导入多个项目 websocket库 车载u盘 python集合 python随机整数 python中不等于 python插件 filejava java数据库 java重写和重载的区别 java开发者 java多线程处理 java命令 java声明变量 java方法的调用 linuxtail命令 linux云服务器 内存整理软件 windows7loader 视频加字幕软件哪个好 python的用途 程序员面试宝典 cfqq网吧任务 jlabel
当前位置: 首页 > 学习教程  > 编程语言

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

2020/12/28 18:41:30 文章标签:

activity跳转间会出现短暂黑屏,此时可能会出现以下三张情况。 1.activity页面加载数据过多,导致的短暂黑屏现象; 2.PopupWindow控件引起的短暂黑屏现象; 3.跳转或被跳转的avtivity启动模式为launchMode“singleInstance”; 情况…

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

 

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

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

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

 

情况1或者3:

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

         <!-- Activity主题 --> 

        <style name="activityTheme" parent="@android:style/Theme"> 

           <item name="android:windowIsTranslucent">true</item> //此句是重点

         </style>

 

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

情况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);
}

本文链接: http://www.dtmao.cc/news_show_550080.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?