欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android开发中Activity之间切换出现短暂黑屏的解决方法

程序员文章站 2024-02-22 15:25:07
本文实例讲述了android开发中activity之间切换出现短暂黑屏的解决方法。分享给大家供大家参考,具体如下: 在默认情况下,android应用程序启动时,会有一个黑...

本文实例讲述了android开发中activity之间切换出现短暂黑屏的解决方法。分享给大家供大家参考,具体如下:

在默认情况下,android应用程序启动时,会有一个黑屏的时期,原因是,首个activity会加载一些数据,比如初始化列表数据、向服务器发送请求获取数据等等。同样,使用startactivity(inte ……

在默认情况下,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相关内容感兴趣的读者可查看本站专题:《android开发入门与进阶教程》及《android编程之activity操作技巧总结

希望本文所述对大家android程序设计有所帮助。