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

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

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

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

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

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

view plain   copy

  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中加上以下属性:

view plain   copy

  1. <activity android:name=".activity.PlacingOrderStep1Activity"

  2. android:theme="@style/activityTheme" />

OK,到此问题解决,不信的话,你就试试!

时间: 2024-11-05 11:51:42

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

Activity设置切换动画时黑屏问题的解决

//当这么设置的时候,打开Acticity的时候会黑屏一下 overridePendingTransition(R.anim.activity_open,0); //改成如下代码 完美解决问题 //设置打开Activity时的动画 overridePendingTransition(R.anim.activity_open,R.anim.activity_stay); activity_open.xml <?xml version="1.0" encoding="utf

请教各位 android activity之间切换的问题

============问题描述============ 比如有三个activity,第一个activity是初始生成的,里面有个listview,点击某个item,转到activity2,activity2要接受activity1传过来的一些数据,用putextra传数据.同样的,activity2中有一个listview,点击某个item,生成activity3,也要接收2传过来的一些数据.问题是,在界面顶端有一栏菜单,比如生成activity1的时候,显示1,再生成activity2的时候

android动画-Activity之间切换动画

Android中页面之间动画切换可以使用两种方式,一种是代码,一种是定义修改Activity Theme. 一.代码实现相对来说比较简单 通过调用 overridePendingTransition() 可以实时修改Activity的切换动画. 但需注意的是:该函数必须在调用startActivity()或finishe后立即调用,且只有效一次. 二.Activity Theme 1. 在styles.xml中输入以下代码: <style name="AnimationActivity&q

audio与video控件/标签的隐藏,iso/Android下自动全屏播放,短暂黑屏问题

(一)audio音频标签 <audio src="xxx.mp3"></audio> (二)video视频标签 <video src="xxx.mp4"></video> (三)使用video代替audio (1) 有时候audio标签被屏蔽,不能被浏览器解释通过,可以选择使用video来代替: <video src="xxx.mp3"></video> (2) 若想要将音乐

Android Activity界面切换添加动画特效

在Android 2.0之后有了overridePendingTransition() ,其中里面两个参数,一个是前一个activity的退出两一个activity的进入, Java代码   @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.SplashScreen); new Handler().postD

部分 CM11 系统 Android 平板执行植物大战僵尸 2 黑屏的解决的方法

原文 http://forum.xda-developers.com/showthread.php?t=2755197 部分 CM11 系统的 Android 平板(比如三星 GT-P5110 )执行植物大战僵尸 2 时黑屏,解决方法例如以下: 安装 NOMone Resolution Changer 使用上述软件(须要 ROOT 权限)将分辨率调整到 1280 * 768 (适用于 1280 * 800 分辨率的平板),保持 DPI 不变 执行植物大战僵尸 2

部分 CM11 系统 Android 平板运行植物大战僵尸 2 黑屏的解决办法

原文 http://forum.xda-developers.com/showthread.php?t=2755197 部分 CM11 系统的 Android 平板(例如三星 GT-P5110 )运行植物大战僵尸 2 时黑屏,解决方法如下: 安装 NOMone Resolution Changer 使用上述软件(需要 ROOT 权限)将分辨率调整到 1280 * 768 (适用于 1280 * 800 分辨率的平板),保持 DPI 不变 运行植物大战僵尸 2 部分 CM11 系统 Android

Android activity之间数据传递和共享的方式之Application

1.基于消息的通信机制  Intent ---bundle ,extra 数据类型有限,比如遇到不可序列化的数据Bitmap,InputStream,或者LinkedList链表等等数据类型就不太好用. 2.利用static静态数据, public static成员变量: 3.基于外部存储的传输,File/Preference/Sqlite 如果要针对第三方应用需要Content Provider 4.基于IPC的通信机制 context 与Service之间的传输,如Activity与Serv

转 Android Activity之间动画完整版详解

标签:Android Activity动画详解 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://mzh3344258.blog.51cto.com/1823534/807337 大家可能遇到过跟小马一样的问题,就是在项目中不给Activity添加动画感觉好烂,特此,小马找个时间学习下Activity跳转时添加动画,网上资料一堆,但有些讲的是错的,而且只有文字没有效果,不如自己来,顺带试下什么效果,这个工程里面小马收集了一些常用