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

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

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

<?xmlversion="1.0"encoding="utf-8"?><resources><!--Activity主题--><stylename="activityTheme"parent="@android:style/Theme"><itemname="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中加上以下属性:

<activityandroid:name=".activity.BookActivity"android:theme="@style/activityTheme"/>

做了以上操作即可。


更多相关文章

  1. mybatisplus的坑 insert标签insert into select无参数问题的解决
  2. python起点网月票榜字体反爬案例
  3. 《Android开发从零开始》——25.数据存储(4)
  4. Android系统配置数据库注释(settings.db)
  5. Android中不同应用间实现SharedPreferences数据共享
  6. android图表ichartjs
  7. Android内容提供者源码
  8. android SharedPreferences
  9. Android(安卓)Paging组件Demo

随机推荐

  1. 高新技术企业优惠政策,及认定要求
  2. 堆实战(动态数据流求top k大元素,动态数
  3. 单链表反转
  4. php守护进程创建和简要分析
  5. master-worker常驻型程序代码修改哪些需
  6. 归并排序
  7. 你要的 Spark AI Summit 2020 PPT 我已经
  8. 一口气搞懂MySQL索引所有知识点
  9. Markdown基本语法解析
  10. Playwright自动化测试工具之元素定位实战