Android Activity之间切换出现短暂黑屏的处理方法

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

在默认情况下,Android应用程序启动时,会有一个黑屏的时期,原因是,首个activity会加载一些数据,比如初 始化列表数据、向服务器发送请求获取数据等等。同样,使用startActivity(intent)方法从一个Activity进入到新的 Activity时,这个过程中也会出现短暂的黑屏。这个问题的存在是由Android应用框架决定的,但的确很影响用户体验。下面就动手来解决这个黑屏 问题!

第一步:自定义Theme(主题)

在your_project/res/values/styles.xml中加入自定义Activity的Theme,如下所示:


  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <resources> 
  3.     <!-- Activity主题 --> 
  4.     <style name="activityTheme" parent="@android:style/Theme"> 
  5.         <item name="android:windowIsTranslucent">true</item> 
  6.     </style> 
  7. </resources> 

其中<item name="android:windowIsTranslucent">true</item>的意思是设置目标 Activity(要启动的那个Activity)是透明的。很容易理解,两个Activity,A和B;在A中启动B,因为B是透明的,看到的背景仍是 A,这样就解决了这个短暂的黑屏问题。

第二步:修改Manifest,将Theme应用到目标Activity上

定义好Theme后,就该为对应的Activity绑定Theme了。这个代码主要在Manifest中实现,在Activity中加上以下属性:


  1. <activity android:name=".activity.PlacingOrderStep1Activity"  
  2.       android:theme="@style/activityTheme" />

文章转自:http://www.cppblog.com/fwxjj/archive/2013/01/14/197259.html

时间: 2024-10-26 02:54:50

Android Activity之间切换出现短暂黑屏的处理方法的相关文章

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

本文实例讲述了Android开发中Activity之间切换出现短暂黑屏的解决方法.分享给大家供大家参考,具体如下: 在默认情况下,Android应用程序启动时,会有一个黑屏的时期,原因是,首个activity会加载一些数据,比如初始化列表数据.向服务器发送请求获取数据等等.同样,使用startActivity(inte -- 在默认情况下,Android应用程序启动时,会有一个黑屏的时期,原因是,首个activity会加载一些数据,比如初 始化列表数据.向服务器发送请求获取数据等等.同样,使用s

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

本文实例讲述了Android开发中Activity之间切换出现短暂黑屏的解决方法.分享给大家供大家参考,具体如下: 在默认情况下,Android应用程序启动时,会有一个黑屏的时期,原因是,首个activity会加载一些数据,比如初始化列表数据.向服务器发送请求获取数据等等.同样,使用startActivity(inte -- 在默认情况下,Android应用程序启动时,会有一个黑屏的时期,原因是,首个activity会加载一些数据,比如初 始化列表数据.向服务器发送请求获取数据等等.同样,使用s

Android界面切换出现短暂黑屏的解决方法_Android

这种问题一般是因为一个Activity启动之后在显示视图之间时间太长导致的. 1.优化方式可以通过精简layout文件.多线程处理数据载入等. 2.但是有些Activity的layout文件可能比较大,如果不能动态载入,在显示之前解析xml的时间可能耗时比较长比如500-1000ms. 这个时候Activity会先显示默认的黑色背景图,所以会出现黑屏的情况.对于这种情况我们可以在Application的Theme中添加 复制代码 代码如下:  <item name="android:win

Android界面切换出现短暂黑屏的解决方法

这种问题一般是因为一个Activity启动之后在显示视图之间时间太长导致的. 1.优化方式可以通过精简layout文件.多线程处理数据载入等. 2.但是有些Activity的layout文件可能比较大,如果不能动态载入,在显示之前解析xml的时间可能耗时比较长比如500-1000ms. 这个时候Activity会先显示默认的黑色背景图,所以会出现黑屏的情况.对于这种情况我们可以在Application的Theme中添加 复制代码 代码如下:  <item name="android:win

详解Android Activity之间跳转出现短暂黑屏的处理方法

摘要: 如何解决页面之间跳转时的黑屏问题呢? 在默认情况下,Android应用程序启动时,会有一个黑屏的时期.原因是,首个activity会加载一些数据,比如初始化列表数据.向服务器发送请求获取数据等等.同样,使用startActivity(intent)方法从一个Activity进入到新的Activity时,这个过程中也会出现短暂的黑屏.这个问题的存在是由Android应用框架决定的,但的确很影响用户体验.下面就动手来解决这个黑屏 问题! 第一步:自定义Theme(主题) 在your_proj

详解Android Activity之间切换传递数据的方法_Android

前面照着android系统的裁剪图片的功能自己写了一个相似的工具.功能是大体上实现了,但留下了一个调用的问题:如何从我的程序调用这个裁剪工具,并且获得裁剪后的图片呢? 其实这个也很简单了,就是intent的基础用法. 先上个图(界面依旧没优化,难看就难看吧): 起始activity,打开图片选择窗口,随便选择一张图片 下面是跳转到裁剪界面 按下crop按钮,退出activity,回到原来界面,并显示裁剪后的图 流程就是这样,也算模拟了系统裁剪功能的整体过程.下面就是实现功能的关键代码和说明了.

详解Android Activity之间切换传递数据的方法

前面照着android系统的裁剪图片的功能自己写了一个相似的工具.功能是大体上实现了,但留下了一个调用的问题:如何从我的程序调用这个裁剪工具,并且获得裁剪后的图片呢? 其实这个也很简单了,就是intent的基础用法. 先上个图(界面依旧没优化,难看就难看吧): 起始activity,打开图片选择窗口,随便选择一张图片 下面是跳转到裁剪界面 按下crop按钮,退出activity,回到原来界面,并显示裁剪后的图 流程就是这样,也算模拟了系统裁剪功能的整体过程.下面就是实现功能的关键代码和说明了.

android活动之间切换问题

问题描述 android活动之间切换问题 我准备做一个进入app之后的一个动画,我把这个动画放在Mainactivity中然后让动画播放几秒钟后自动进入第二个activity,但是每次我打开app时都会直接进入第二个activity不会首先播放动画,然后当我返回一下时才会播放动画,请问为什么这样啊! 代码如下: import android.R.integer; import android.app.Activity; import android.content.Intent; import

android-如何在两个activity之间切换动画?

问题描述 如何在两个activity之间切换动画? 我想实现当改变 activity 时,实现从左到右的滑动效果.我使用的下面的代码,但是没有获得所要的效果.请大家帮我看一下. java 中的文件 super.onCreate(savedInstanceState); overridePendingTransition(R.anim.fadein, R.anim.fadeout); setContentView(R.layout.main); 在 res/anim目录下的两个文件 fadein.