Ionic + Capacitor 3 + Android shows distorted splash image briefly(Ionic+Capacitor3+Android短暂显示扭曲的开机画面)
问题描述
如果您使用@capacitor/splash-screenAPI在您的Ionic Android应用程序中显示闪屏,则可能会遇到此问题:
问题
在不到一秒的时间内,开机画面将显示失真,直到它以正确的纵横比显示。这意味着它还会在屏幕上略有跳跃,如果您在设备处于横向时启动应用程序,或者如果您的设备具有伸展或粗大的显示宽高比,这一点将特别明显。
背景信息
发生这种情况是因为MainActivity
在应用程序启动时使用的AppTheme.NoActionBarLaunch
设置为将开机画面作为背景图像,但&q;Real";Sash图像在几毫秒后在该插件的SplasScreen.buildViews()
方法中初始化。
解决方案
要修复它,您可以在/android/app/src/main/values
下的styles.xml
文件中更改以下内容:
旧:
<style name="AppTheme.NoActionBarLaunch" parent="AppTheme.NoActionBar">
<item name="android:background">@drawable/splash</item>
</style>
新建(无背景):
<style name="AppTheme.NoActionBarLaunch" parent="AppTheme.NoActionBar">
<item name="android:background">@null</item>
</style>
或设置闪屏的背景颜色:
<style name="AppTheme.NoActionBarLaunch" parent="AppTheme.NoActionBar">
<item name="android:background">#ffffff</item>
</style>
这将防止在将实际ImageView添加到视图层次结构之前将开机画面显示为背景图像。ImageView将具有插件配置的androidScaleType
中定义的正确scaleType。
使用以下版本测试:
- @电容/安卓:3.0.0-rc.0
- @电容器/闪屏:0.3.6
- @离子/角度:5.6.3
使用以下配置:
const config: CapacitorConfig = {
// ...
plugins: {
SplashScreen: {
launchShowDuration: 3000,
launchAutoHide: false,
backgroundColor: '#ffffffff',
androidSplashResourceName: 'splash',
androidScaleType: 'CENTER_CROP',
showSpinner: false,
splashFullScreen: false,
splashImmersive: false,
},
},
// ...
};
注意:无需调用打字(离子)代码中的SplashScreen.show()
,它会自动显示。一旦您想要隐藏SplashScreen,只需在您的打字代码中调用SplashScreen.hide()
。
推荐答案
上述解决方法不适用于需要透明背景的社区条形码扫描仪。
我的解决办法(空白白屏的缺点仍然存在,但它是有效的):
<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/white</item>
</style>
<style name="AppTheme.NoActionBarLaunch" parent="AppTheme.NoActionBar"></style>
这篇关于Ionic+Capacitor3+Android短暂显示扭曲的开机画面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Ionic+Capacitor3+Android短暂显示扭曲的开机画面
基础教程推荐
- Android:对话框关闭而不调用关闭 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01