为了解决app启动慢,黑白屏问题,所以开发中会用到自定义主题及 windowBackground 启动图

parent必须要添加,以及windowIsTranslucent要为false背景图才会显示,如果设为true,那么启动时app会等待activity 创建完成才会打开,影响体验

其次在application中,一般设置theme主题为系统Theme.AppCompat.NoActionBar之类主题

在android 8.0以上,如果首页跳转过快将会出现一些问题。

我的项目是,打开app后如果已经是登录过状态,立刻跳转到首页面。由于主页面(我的第二个要打开的activity)加载frament过慢,造成了第一个activity一闪而过,而windowbackground不结束的画面。

于是我开始在theme主题中找解决方案。

将application和activity的主题都设置为自定义主题,结果还是一闪而过的画面。

于是将两个theme主题中的windowIsTranslucent都设置为true,那么app启动时,将会是一个等待状态。

将application中的windowIsTranslucent设置为false,activity中的windowIsTranslucent设置为true,依然是一个等待打开状态。

将activity中的windowIsTranslucent设置为false,application中的windowIsTranslucent设置为true,第一个avtivity不再一闪而过,将等待第二个activity创建完成,再做跳转。

windowIsTranslucent属性,是将activity设置半透明的样式。如果设置为false,将显示theme主题的背景颜色。而第一个activity的windowbackgroud属性本应该是在activity启动以后结束,那为什么第一个activity已经开始要跳转,windowbackgroud还没有结束绘制,直到跳转到第二个activity才结束。又为什么application twindowIsTranslucent为true后,第一个activity出现时,第一个activity的windowbackgroud就结束了。

由于找不到相关答案,只能暂时理解为:当application设置windowIsTranslucent为false时,第一个activity跳转到第二个activity时,第二个activity不是透明状态,activity未完全创建完成,则用当前activity的windowbackground做当前页面,但跳转的动作已经完成,就是造成一闪而过的画面。当application设置windowIsTranslucent为true时,要跳转到的第二个activity为透明状态,所以当第二个activity未完全创建时,画面停留在当前界面,也就是第一个activity。待完成创建时跳转。

第一个activity常在各大app中作广告页使用。

当设置application的theme设置windowIsTranslucent为true时,看似一切正常了许多。但是在android8.0及以下版本,需要注意:

1.当Activity固定了方向。
2.“windowIsTranslucent”为true;
“windowSwipeToDismiss”为true;
“windowIsFloating“为true;
3.targetSdkVersion >26

如上三种情况将会造成Only fullscreen activities can request orientation"异常。最简单的办法把targetSdkVersion改成26或更低。

以上是为了解决app黑白屏以及android 8.0以上首页跳转过快出现的问题。

第二种解决方案:

事实上只要在跳转动作上做延迟操作,就不会造成第一个activity一闪而过的画面,还可以控制广告页时间,由于萌新不懂大佬的代码逻辑,走错方向,又执着于windowIsTranslucent属性,浪费了时间。可以用线程的sleep,handler,或者java定时器进行操作。

Theme主题的使用及windowIsTranslucent的理解相关推荐

  1. 从Hexo迁移到Hugo附送漂亮的Hugo Theme主题

    从Hexo迁移到Hugo附送漂亮的Hugo Theme主题 自从Hugo出来后,作为Go语言(golang)的重度用户的重度用户,一直想把自己的博客迁移到Hugo,但是一直没有行动,主要原因在于,我的 ...

  2. 【Android进阶】14、theme 主题 和 menu 顶部应用栏

    文章目录 14.1 theme 主题 14.2 menu 应用栏的菜单 14.2.1 在XML文件中定义菜单 14.2.2 创建菜单 14.2.3 响应菜单项选择 14.3 用 Android Ass ...

  3. 微软 theme 主题文件官方文档中文翻译版

    这份文档将主要讨论Windows 7,Windows Vista和Windows XP中使用的主题文件(.theme)的语言格式.一个.theme文件实质上是一个分段记录特定桌面可视化效果设定的.in ...

  4. Style(风格) 和 Theme(主题)

    当你设计你的程序的时候,你可以用Style(风格)和Theme(主题)来统一格式化各种屏幕和UI元素. 风格是一个包含一种或者多种格式化属性的集合,你可以将其用为一个单位用在布局XML单个元素当中.比 ...

  5. Eclipse设置Theme主题颜色

    设置Eclipse的代码编辑区背景为暗黑色系: 如需转载,请注明转载自:blog.csdn.net/it1988888 相关文件下载:http://guari.github.io/eclipse-ui ...

  6. Jupyter lab Theme 主题更换

    Jupyter lab Theme 主题更换 1. 打开Jupyter-lab 2. 再拓展插件中搜索 "theme" 3. 安装自己喜欢的主题 4. 在Setting->J ...

  7. Android中Theme主题和Style样式使用介绍总结

    1.Theme主题 1.1.Theme主题作用范围 Theme主要是针对应用级别的或者说窗体级别,可以设置应用主题(应用换肤效果)和Activity的主题:主题是不能应用在某一个单独的View中:或者 ...

  8. Android常见的Theme主题

    Android常见的Theme主题: android:theme="@android:style/Theme.Dialog" //Activity显示为对话框模式android:t ...

  9. PySimpleGui theme主题使用

    第一章 PySimpleGui theme主题使用 目录 系列文章目录 前言 一.theme是什么? 二.使用步骤 1.打印所有主题: 2.主题设置 3.更新主题的设置 总结 前言 通过设置主题,可快 ...

最新文章

  1. 两个关于水花的测试。
  2. 在vscode中使用pylint-django插件解决pylint的一些不必要的错误提示【转】
  3. DeepMind让AI首次在量子水平描述物质!Nature:化学领域最有价值技术之一
  4. Hibernate的关联关系映射
  5. 二、Windows基础数据类型
  6. 网站服务器挂了导致排名下降,常见关键词排名消失的原因及解决对策
  7. 没用过.gitignore还敢自称高级开发?
  8. angular1.x 组件开发
  9. HALCON:内存管理(Memory Management)
  10. Unofficial Windows Binaries for Python Extensi...
  11. 地理探测器——Geodetector
  12. 计算机 ppt图标,史上最完整的通信计算机PPT图标及模版 (PPTshare).ppt
  13. 音乐格式转换软件测试工程师,免费音频转换器:如何把MP3文件转换为其他格式...
  14. Got10k追踪数据集
  15. airflow的xcom使用
  16. 雷军为什么要挖常程?
  17. 从前后端分离到前后端整合的“退步”(二)pom.xml文件配置
  18. p5.js创意绘图(2)自画像
  19. 类加载(基本说明、流程图、类加载各个阶段完成的任务)
  20. 使用EKF融合odometry及imu数据

热门文章

  1. Gatsby精粹,面向未来的blog
  2. Unity删除工程记录
  3. document.getElementById(id)的用法
  4. 哈尔滨工业大学-自适应信号处理-QRD-RLS算法实验
  5. VSOMEIP双机通信
  6. 科普论文:漫谈社团检测
  7. 用腾讯云搭建自己的网站
  8. 数据库移动数据总结一附录
  9. 基于模型设计的永磁同步电机控制编译和代码生成
  10. 关键字abstract