详解Android Activity之间跳转出现短暂黑屏的处理方法
作者:EddieYan 时间:2021-06-28 04:44:03
摘要: 如何解决页面之间跳转时的黑屏问题呢?
在默认情况下,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>
<item name="android:windowNoTitle">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.BookActivity" android:theme="@style/activityTheme" />
做了以上操作即可。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
来源:http://www.jianshu.com/p/feb14c61088d?utm_source=tuicool&utm_medium=referral
标签:activity,跳转,黑屏
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
如何使用LinQ To Object把数组或DataTable中的数据进行向上汇总
2022-04-05 17:07:33
![](https://img.aspxhome.com/file/2023/1/129711_0s.png)
WindowsForm实现警告消息框的实例代码
2023-05-25 00:00:54
![](https://img.aspxhome.com/file/2023/5/113765_0s.gif)
Android多媒体之画画板开发案例分享
2022-11-17 11:05:08
![](https://img.aspxhome.com/file/2023/8/126738_0s.gif)
C#执行SQL事务用法实例
2021-11-23 23:32:27
![](https://img.aspxhome.com/file/2023/4/122724_0s.png)
C#实现启用与禁用本地网络的方式小结【3种方式】
2022-04-21 18:45:14
Runtime.getRuntime().exec 路径包含空格的解决
2023-05-15 23:54:32
![](https://img.aspxhome.com/file/2023/6/83056_0s.png)
Unity中C#和Java的相互调用实例代码
2022-02-28 13:40:53
springboot跨域CORS处理代码解析
2022-07-29 21:12:20
![](https://img.aspxhome.com/file/2023/4/69284_0s.png)
Unity Shader实现描边OutLine效果
2022-01-13 03:11:13
![](https://img.aspxhome.com/file/2023/0/76380_0s.gif)
IntellJ IDEA神器使用技巧(小结)
2023-08-08 22:01:44
Java操作IO对象流进行数据的读写
2021-08-25 03:33:49
JavaMail实现发送超文本(html)格式邮件的方法
2022-09-22 17:11:15
C#对WPF数据绑定的菜单插入Seperator分隔
2022-04-29 17:09:28
Android中Handler引起的内存泄露问题解决办法
2023-11-08 23:40:58
浅谈Java编程中的内存泄露情况
2022-09-11 06:59:07
SpringBoot ApplicationContext接口深入分析
2021-10-21 23:00:03
![](https://img.aspxhome.com/file/2023/6/61056_0s.png)
有关Java中的BeanInfo介绍
2023-08-05 00:13:42
![](https://img.aspxhome.com/file/2023/5/57955_0s.jpg)
C#实现支付宝沙箱支付的项目实践
2021-07-29 17:18:18
![](https://img.aspxhome.com/file/2023/9/82109_0s.jpg)
SpringBoot+docker环境变量配置详解
2022-06-13 07:37:20
![](https://img.aspxhome.com/file/2023/6/84756_0s.png)
SpringMVC4 + MyBatis3 + SQL Server 2014整合教程(含增删改查分页)
2023-09-27 01:47:32
![](https://img.aspxhome.com/file/2023/6/89666_0s.png)