详解Android Activity之间跳转出现短暂黑屏的处理方法
程序员文章站
2023-12-03 12:30:16
摘要: 如何解决页面之间跳转时的黑屏问题呢?
在默认情况下,android应用程序启动时,会有一个黑屏的时期。原因是,首个activity会加载一些数据,比如初始化列表数...
摘要: 如何解决页面之间跳转时的黑屏问题呢?
在默认情况下,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" />
做了以上操作即可。希望对大家的学习有所帮助,也希望大家多多支持。
下一篇: Android来电监听和去电监听实现代码