android渲染闪过白屏,解决android在启动闪屏页面前会出现短暂的白屏或黑屏状态...

本文介绍了如何通过设置Android应用的启动页样式来避免启动时的白屏和黑屏闪现问题。首先,在AndroidManifest.xml中设置启动页为竖屏并引用自定义的splashtheme。然后,在styles.xml中定义splashtheme,继承Theme.NoTitleBar.Fullscreen,并设置windowBackground为启动页图片。注意,应使用windowBackground而非background,否则可能导致显示混乱。此外,设置全局application主题的windowBackground会影响所有Activity,而为特定Activity设置theme则不会。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先直接上代码:

第一步:

自定义style ,一般也设置闪屏页面为竖屏.

android:theme="@style/splashtheme"

android:screenOrientation="portrait">

/>

第二步:

在res/values/styles中自定义的splashtheme设置parent为 android:Theme.NoTitleBar.Fullscreen,并设置windowBackground图片

@drawable/splash_logo

@style/Animation

注意:

设置属性是windowbackground不是background否则会显示混乱

白屏和黑屏闪现原因分析:

若设置logo图片在activity_splash.xml文件中,在启动Splash_Activity执行setContentView(R.layout.activity_splash);渲染完成后才能看到logo图片,而显示这个张图片前会默认加载application 的主题样式android:theme=@style/AppTheme 的主题导致.

拓展:

application下有一个默认主题

android:theme=”@style/AppTheme”

按住ctrl点击去找到AppTheme找到AppTheme,在里面添加属性windowBackground,代码如下

@drawable/mybackground

@color/colorPrimary

@color/colorPrimaryDark

@color/colorAccent

试验发现开启app的时候仍然会闪现我们的logo图片,但是进入activity后,你会发现所有的acitivity都是一样的图片背景,如果设置acitivity自己的theme,就不会用该图片背景.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值