Android Activity之间切换出现短暂黑屏的处理方法
转自:http://www.cppblog.com/fwxjj/archive/2013/01/14/197259.html
在默认情况下,Android应用程序启动时,会有一个黑屏的时期,原因是,首个activity会加载一些数据,比如初 始化列表数据、向服务器发送请求获取数据等等。同样,使用startActivity(intent)方法从一个Activity进入到新的 Activity时,这个过程中也会出现短暂的黑屏。这个问题的存在是由Android应用框架决定的,但的确很影响用户体验。下面就动手来解决这个黑屏 问题!
第一步:自定义Theme(主题)
在your_project/res/values/styles.xml中加入自定义Activity的Theme,如下所示:
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <!-- Activity主题 -->
- <style name="activityTheme" parent="@android:style/Theme">
- <item name="android:windowIsTranslucent">true</item>
- </style>
- </resources>
其中<item name="android:windowIsTranslucent">true</item>的意思是设置目标 Activity(要启动的那个Activity)是透明的。很容易理解,两个Activity,A和B;在A中启动B,因为B是透明的,看到的背景仍是 A,这样就解决了这个短暂的黑屏问题。
第二步:修改Manifest,将Theme应用到目标Activity上
定义好Theme后,就该为对应的Activity绑定Theme了。这个代码主要在Manifest中实现,在Activity中加上以下属性:
- <activity android:name=".activity.PlacingOrderStep1Activity"
- android:theme="@style/activityTheme" />
OK,到此问题解决,不信的话,你就试试!
Android Activity之间切换出现短暂黑屏的处理方法的更多相关文章
- Activity设置切换动画时黑屏问题的解决
//当这么设置的时候.打开Acticity的时候会黑屏一下 overridePendingTransition(R.anim.activity_open,0); //改成例如以下代码 完美解决这个问题 ...
- Android PopupWindow显示之后所在的Activity结束的时候出现短暂黑屏问题
在当前Activity弹出PopuoWindow后,点击取消弹窗,然后结束当前Activity时会出现短暂黑屏现象.这是由于设置背景透明度时候造成的. //设置添加屏幕的背景透明度 public vo ...
- audio与video控件/标签的隐藏,iso/Android下自动全屏播放,短暂黑屏问题
(一)audio音频标签 <audio src="xxx.mp3"></audio> (二)video视频标签 <video src="xx ...
- 部分 CM11 系统 Android 平板执行植物大战僵尸 2 黑屏的解决的方法
原文 http://forum.xda-developers.com/showthread.php?t=2755197 部分 CM11 系统的 Android 平板(比如三星 GT-P5110 )执行 ...
- Android 两个界面间快速切换时,会发现有短暂黑屏
这种问题一般是因为一个Activity启动之后在显示视图之间时间太长导致的. 1.优化方式可以通过精简layout文件.多线程处理数据载入等. 2.但是有些Activity的layout文件可能比较大 ...
- Android Activity切换(跳转)时出现黑屏的解决方法
在两个Activity跳转时,由于第二个Activity在启动时加载了较多数据,就会在启动之前出现一个短暂的黑屏时间,解决这个问题比较简单的处理方法是将第二个Activity的主题设置成透明的,这样在 ...
- Android中的动画具体解释系列【4】——Activity之间切换动画
前面介绍了Android中的逐帧动画和补间动画,并实现了简单的自己定义动画.这一篇我们来看看怎样将Android中的动画运用到实际开发中的一个场景--Activity之间跳转动画. 一.定义动画资源 ...
- Android -- 使用主题配置文件,去掉程序启动界面的短暂黑屏
关于黑屏 默认的情况下,程序启动时,会有一个黑屏的时期,原因是,首个activity会加载一些数据,比如初始化列表数据等. 去除步骤 1./res/values/styles.xml 在 Theme ...
- Android中的动画详解系列【4】——Activity之间切换动画
前面介绍了Android中的逐帧动画和补间动画,并实现了简单的自定义动画,这一篇我们来看看如何将Android中的动画运用到实际开发中的一个场景--Activity之间跳转动画. 一.定义动画资源 如 ...
随机推荐
- HTTP 和 HTTPS 的异同
什么是 HTTPS? HTTPS (基于安全套接字层的超文本传输协议 或者是 HTTP over SSL) 是一个 Netscape 开发的 Web 协议. 你也可以说:HTTPS = HTTP + ...
- 195 Tenth Line
Given a text file file.txt, print just the 10th line of the file. Example: Assume that file.txt has ...
- 将prometheus采集的数据远程存储到influxdb中
这个比较简单, https://docs.influxdata.com/influxdb/v1.7/supported_protocols/prometheus 只需要更改prometheus.yam ...
- docker commit 制作镜像
docker commit -m="commit jdk" --author="gutianlangyu" ae56f6cad215 gutianlangyu/ ...
- 通过jstack与jmap分析一次线上故障
一.发现问题 下面是线上机器的cpu使用率,可以看到从4月8日开始,随着时间cpu使用率在逐步增高,最终使用率达到100%导致线上服务不可用,后面重启了机器后恢复. 二.排查思路 简单分析下可能出问题 ...
- Django如何重设Admin密码
如果你忘记了Admin的密码的话,就要用Django shell: python manage.py shell 然后获取你的用户名,并且重设密码: >>>from django.c ...
- LOJ.121.[离线可过]动态图连通性(线段树分治 按秩合并)
题目链接 以时间为下标建线段树.线段树每个节点开个vector. 对每条边在其出现时间内加入线段树,即,把这条边按时间放在线段树的对应区间上,会影响\(O(\log n)\)个节点. 询问就放在线段树 ...
- 如何使用PhoneGap打包Web App
最近做了一款小游戏,定位是移动端访问,思来想去最后选择了jQuery mobile最为框架,制作差不多以后,是否可以打包成App,恰好以前对PhoneGap有耳闻,便想用这个来做打包,可以其中艰辛曲折 ...
- HDU5320 : Fan Li
考虑枚举左端点i,则随着右端点的右移,一共只有$O(\log n)$种不同的gcd取值.所以首先通过ST表+二分查找预处理出$O(n\log n)$个四元组(x,i,l,r),表示左端点为i,右端点取 ...
- Xtreme9.0 - Mr. Pippo's Pizza 数学
Mr. Pippo's Pizza 题目连接: https://www.hackerrank.com/contests/ieeextreme-challenges/challenges/mr-pipp ...