解决安卓启动界面白色/黑色瞬间

android设置UI界面背景,Android ROM定制——界面美化基础(framework-res、SystemUI修改)... 前言:很多童鞋对美化很感兴趣,都想拥有一个完完全全属于自己风格的手机系统!对那些自定义全局背景,1%电量显示,透明下拉菜单。。。都很感冒!美化的重点跟难点就在于对"framework-res.apk"和"systemUI.apk"这两个文件的编译和反编译!这里说的编译和反编译是所有深度美化都必须要做的事,也就是说,所有的美化都是基于对apk的反编译后,才能进行的!而绝大多数修改"framework... 阅读详情

//1、设置背景图Theme

<style name="Theme.AppStartLoad" parent="android:Theme">  
    <item name="android:windowBackground">@drawable/ipod_bg</item>  
    <item name="android:windowNoTitle">true</item>  
</style>

//2、设置透明Theme

<style name="AppStartLoadTranslucent" parent="android:Theme">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
</style>

上面我定义了两种Theme,第一种Theme就是设置一张背景图。当程序启动时,首先显示这张背景图,避免出现黑屏。第二种Theme是把样式设置为透明,程序启动后不会黑屏而是整个透明了,等到界面初始化完才一次性显示出来。下面说说两种方式的优缺点:

Theme1 程序启动快,界面先显示背景图,然后再刷新其他界面控件。给人刷新不同步感觉。
Theme2 给人程序启动慢感觉,界面一次性刷出来,刷新同步。

但是,在Android 8.0上,如果<item name="android:windowIsTranslucent">true</item>和android:screenOrientation同时使用,将会导致应用闪退,解决的办法有三个:
①把compileSdkVersion和targetSdkVersion降到27以下,比如26
②去掉android:windowIsTranslucent和android:screenOrientation中任意一个属性
③用<item name="android:windowDisablePreview">true</item>代替<item name="android:windowIsTranslucent">true</item>

3、Theme属性详解

//Edited by mythou
//http://www.cnblogs.com/mythou/
android:theme="@android:style/Theme.Dialog" //Activity显示为对话框模式

android:theme="@android:style/Theme.NoTitleBar" //不显示应用程序标题栏

android:theme="@android:style/Theme.NoTitleBar.Fullscreen" //不显示应用程序标题栏,并全屏

android:theme="Theme.Light " //背景为白色

android:theme="Theme.Light.NoTitleBar" //白色背景并无标题栏

android:theme="Theme.Light.NoTitleBar.Fullscreen" //白色背景,无标题栏,全屏

android:theme="Theme.Black" //背景黑色

android:theme="Theme.Black.NoTitleBar" //黑色背景并无标题栏

android:theme="Theme.Black.NoTitleBar.Fullscreen" //黑色背景,无标题栏,全屏

android:theme="Theme.Wallpaper" //用系统桌面为应用程序背景

android:theme="Theme.Wallpaper.NoTitleBar" //用系统桌面为应用程序背景,且无标题栏

android:theme="Theme.Wallpaper.NoTitleBar.Fullscreen" //用系统桌面为应用程序背景,无标题栏,全屏

android:theme="Theme.Translucent" //透明背景

android:theme="Theme.Translucent.NoTitleBar" //透明背景并无标题

android:theme="Theme.Translucent.NoTitleBar.Fullscreen" //透明背景并无标题,全屏

android:theme="Theme.Panel " //面板风格显示

android:theme="Theme.Light.Panel" //平板风格显示

Style可以理解为一组属性集合,方便不同的View设置使用,我们在View里面使用Style的时候,跟使用Theme是一样的应用方法。那么Style和Theme有什么区别?下面列出两者区别:

样式用在单独的View,如:Button、TextView等
主题通过AndroidManifest.xml中的和用在整个应用或者某个 Activity,主题对整个应用或某个Activity存在全局性影响。
如果一个应用使用了主题,同时应用下的view也使用了样式,那么当主题与样式属性发生冲突时,样式的优先级高于主题。

Android12.0 原生系统SystemUI下拉状态栏和通知栏视图之锁屏通知布局 在12.0的系统rom定制化开发中,对于系统原生systemui的锁屏界面的功能也是非常重要的,所以在锁屏页面布局中,也是有通知栏布局的,所以接下来对于息屏亮屏 通知栏布局的相关流程分析,看下亮屏后锁屏页面做了哪些功能 阅读详情

相关推荐

Android SystemUI Keyguard的滑动解锁流程

在这段代码中,我们记录了用户手指按下和抬起时的坐标,并通过计算手指滑动的距离来判断用户的滑动方向。如果用户向右滑动超过100个像素,并且在垂直方向上的滑动距离较小,就执行解锁操作;滑动解锁是Android手机上最常见的解锁方式之一,用户可以通过在屏幕上滑动手指来解锁手机。在与布局文件对应的Activity中,我们可以通过重写onTouchEvent方法来监听用户的手势操作,并做出相应的处理。这样,当用户在锁屏界面上滑动手指时,系统就会启动KeyguardSliderActivity,并显示滑动解锁界面。

CodeGu的博客 1060

AndroidQ SystemUI之锁屏加载(上)滑动锁屏

本篇来分析下Android锁屏的加载流程,锁屏加载比较复杂,涉及framework和SystemUI,这篇主要分析SystemUI部分,锁屏有两种,一种滑动锁屏,另一种密码锁屏,也叫Bouncer。 前面AndroidQ SystemUI之启动 中分析了SystemUI启动过程中会加载一个config数组,里面定义了SystemUI的重要的类,之后遍历此数组,以此调用其Start方法,我们就从StatusBar.start方法开始分析锁屏相关的流程 StatusBar.start public void s

goodsapple1的博客 1583

PCB模块化设计24——DCDC电源模块PCB布局布线设计规范

PCB模块化设计24——DCDC电源模块PCB布局布线设计规范

qq_31444421的博客 2万+

Android 12系统源码_SystemUI(一)SystemUI的启动流程

通过Android12系统源码分析SystemUI的启动流程

AfinalStone的专栏 1万+

高通camera open代码流程(hal到kernel)

内容:简单介绍Camera open代码调用流程,从HAl到kernel。(api1+hal1) 前言 Android camera api和hal对应关系。安卓在版本更新过程中,camera相关代码也经历了几个版本的更新,表现为camera HAL版本更新(HAL1->HAL2->HAL3),camera API版本更新(camera API1->camera API2),接下...

oxoo123的专栏 4276

Figma做原型设计一篇教会你,全栈软件开发必备技能,前后端岗位锐减找工作的底牌

本文介绍了使用Figma进行前端应用原型设计的方法与优势。Figma作为主流设计工具,能够满足大多数应用系统的原型设计需求,强调系统设计应保持简洁合理。文章详细说明了Figma的基本操作流程,包括创建Frame页面、组件使用、交互设置等核心功能,并指出命名规范的重要性。同时对比了Axure、墨刀等其他设计工具的特点,建议根据具体需求选择合适的平台。最后强调原型设计主要关注交互功能展示,业务逻辑应通过需求文档表述。整体而言,Figma凭借其简洁高效的特点,已成为原型设计的优选工具。

有问题或资源连接有缺失的可以私信公众号新潮看世界获取 460

Android 启动时界面短暂空白的解决方案

相信大多数人一开始都会对启动app的时候出现先白瓶或者黑屏然后才进入第一个界面,例如:SplashActivity。那这是什么原因造成的呢? ? 1 2 <style name="Splash_Theme" parent="@android:style/Theme.NoTitleBar"> </style> ...

weixin_39388156的博客 1674

【VTKExamples::PolyData】第十六期 GradientFilter

本文分享VTK样例GradientFilter,并解析接口vtkGradientFilter & vtkAssignAttribute,希望对各位小伙伴有所帮助!

qq_40041064的博客 319

Android 进程保活 详解:一篇文章解决你的所有疑问

前言 关于 Android 平台的进程保活这一块,想必是所有 Android 开发者瞩目的内容之一。你到网上搜 Android 进程保活,可以搜出各种各样神乎其技的做法,绝大多数都是极其不靠谱。前段时间,Github还出现了一个很火的“黑科技”进程保活库,声称可以做到进程永生不死(详见《Android后台保活实践总结:即时通讯应用无法根治的“顽疾”》文末推荐的开源解决方案)。 ...

Kiven's Program Space 448

2024年12月中国电子学会青少年软件编程(Python)等级考试试卷(六级)答案 + 解析

2024年12月中国电子学会青少年软件编程(Python)等级考试试卷(六级)答案 + 解析

伶俐角少儿编程 729

流体动力学仿真软件:CFX_(10).案例实践:复杂流场分析

在“Phases”选项卡中,定义参与仿真的不同相。例如,如果您要分析气液两相流,可以定义“Air”和“Water”两个相。

kkchenjj的博客 1689

关于Android进程报活,你需要知道的一切

早前,我在知乎上回答了这样一个问题:怎么让 Android 程序一直后台运行,像 QQ 一样不被杀死?。关于 Android 平台的进程保活这一块,想必是所有 Android 开发者瞩目的内容之一。你到网上搜 Android 进程保活,可以搜出各种各样神乎其技的做法,绝大多数都是极其不靠谱。前段时间,Github还出现了一个很火的“黑科技”进程保活库,声称可以做到进程永生不死。 怀着

zuoer8676的专栏 1005

KUKA机器人在自动运行时,动作不流畅,每个点位都有停顿的解决办法

KUKA机器人在自动运行时,动作不流畅,每个点位都有停顿的解决办法

Robot_PLC_HMI_Automation 4579

关于 Android 进程保活,你所需要知道的一切

早前,我在知乎上回答了这样一个问题:怎么让 Android 程序一直后台运行,像 QQ 一样不被杀死?。关于 Android 平台的进程保活这一块,想必是所有 Android 开发者瞩目的内容之一。你到网上搜 Android 进程保活,可以搜出各种各样神乎其技的做法,绝大多数都是极其不靠谱。前段时间,Github还出现了一个很火的“黑科技”进程保活库,声称可以做到进程永生不死。怀着学习和膜拜的心情...

michael1112的专栏 472

QMK固件OLED显示屏配置教程:从零开始实现个性化键盘显示(实操部分)

本教程详细介绍了如何从零开始配置QMK固件的OLED显示屏,实现个性化键盘显示。首先,文章解释了OLED显示屏的基本概念及其在键盘中的应用,并介绍了I2C和SPI两种通信方式。接着,教程逐步指导用户如何在QMK固件中启用OLED功能,包括在rules.mk中启用OLED、在halconf.h和mcuconf.h中配置I2C功能,以及在config.h中设置I2C和OLED参数。最后,教程展示了如何在keymap.c中编写代码,实现OLED显示内容,并提供了进阶定制功能,如显示当前层信息、按键状态和QMK L

Despacito0o的博客 580

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

android白屏优化方案,App启动页面优化(白屏/黑屏)

背景:android app启动页面黑屏的问题,android开发app启动时若没有做特殊处理的话,会出现一瞬间的白屏现象。即使你启动页界面就加载一个布局,不做其他耗时处理,貌似也会出现一瞬间的白屏问题。注意,有些地方也称黑屏,主要是看你给app设置的style样式。为什么存在这个问题:当系统启动一个APP时,zygote进程会首先创建一个新的进程去运行这个APP,但是进程的创建是需要时间的,在创...

weixin_39636718的博客 537

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Cocos Creator Android自定义启动页实现:告别黑屏,提升游戏启动体验

在Android应用开发中,启动优化是提升用户体验的关键环节。应用启动时,从系统加载Activity到渲染引擎初始化完成之间,常会出现短暂的黑屏或白屏,这被称为启动“真空期”。其核心原理在于系统默认窗口背景的显示与引擎初始化耗时之间的窗口期。为了解决这一问题,开发者可以通过自定义启动页技术,在引擎就绪前瞬间展示品牌视觉,从而在感知上大幅缩短启动耗时,提升应用的专业度与第一印象。这一技术对于游戏和应用开发尤为重要,能有效降低用户流失率。在Cocos Creator引擎的Android原生平台开发中,通过动态添

weixin_33888907的博客 401

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

你的App启动太慢?带你一拳干碎Android冷启动“白屏”!

兄弟们,有没有被测试小姐姐提过“这个App打开好慢啊”的Bug?有没有看过竞品App“秒开”而自己的却要“卡一下”?别慌,今天这篇实战文,带你从原理到实战,把冷启动优化揉碎了讲清楚,让你也能打造“秒开”级应用。

2501_90254176的博客 1039

Android 项目优化(二):启动页面优化

一、启动页黑屏的问题 1.1 问题现象描述 Android App 启动页面黑屏的问题,现象表现为:Android开发 App启动时若没有做特殊处理的话,会出现一瞬间的白屏现象。即使启动页界面就加载一个布局,不做其他耗时处理,貌似也会出现一瞬间的白屏问题。当从桌面 Launcher 的小图标点击冷启动一个 App 的时候,程序需要进行一些基本的初始化操作,例如在Applicati...

weixin_30872337的博客 204

android白屏优化方案,Android启动体验优化--启动白屏黑屏优化

背景:在我们点击手机桌面应用程序图标->到app渲染出第一个activity的这个过程中,不知道大家有没有留意到,当app很久没有打开过,或者是app杀死了,再打开的时候,会有那么一瞬间的白屏或者黑屏??这个时间取决于你的手机性能,差一点的手机特别明显①这个白色或者黑色,是什么?②如何修改这个颜色?③如何优化体验?问题1:从配置文件的主题入手,把这个颜色挖出来。小司机坐稳扶好。当我们创建一个...

weixin_31861055的博客 586

Android 避免APP启动闪黑屏的解决办法(Theme和Style)

App每次启动程序都会闪一下黑屏,这个客户不接受。没办法,只能想想怎么解决,最后找到了下面的方法。闪黑屏的原因主要是我们启动Activity的时候,需要跑完onCreate和onResume才会显示界面。也就是说需要处理一些数据后,才会显示。按照这种思路,是不是我把初始化的工作尽量减少就可以避免黑屏?事实是,就算你onCreate啥都不做,仍然会闪一下黑屏,因为初始化解析界面时需要一定时间。下面是

源码分享的博客 2005

App启动页面优化

1.1 问题描述 出现问题描述 android app启动页面黑屏的问题,android开发app启动时若没有做特殊处理的话,会出现一瞬间的白屏现象。 即使你启动页界面就加载一个布局,不做其他耗时处理,貌似也会出现一瞬间的白屏问题。注意,有些地方也称黑屏,主要是看你给app设置的style样式。 当从桌面 Launcher 的小图标点击冷启动一个 App 的时候,程序需要进行一些基本的初始化操作,...

android开发笔记 225
上一篇: 安卓软键盘(输入法)相关
下一篇: WebView中文乱码
ithouse
博客等级 码龄12年 200粉丝 212原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值