Ionic+Capacitor3+Android短暂显示扭曲的开机画面

Ionic + Capacitor 3 + Android shows distorted splash image briefly(Ionic+Capacitor3+Android短暂显示扭曲的开机画面)
本文介绍了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短暂显示扭曲的开机画面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

How to target newer versions in .gitlab-ci.yml using auto devops (java 11 instead of 8 and Android 31 instead of 29)(如何在.gitlab-ci.yml中使用自动开发工具(Java 11而不是8,Android 31而不是29)瞄准较新的版本)
Android + coreLibraryDesugaring: which Java 11 APIs can I expect to work?(Android+core LibraryDesugering:我可以期待哪些Java 11API能够工作?)
How to render something in an if statement React Native(如何在If语句中呈现某些内容Reaction Native)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)
Using Firebase Firestore in offline only mode(在仅脱机模式下使用Firebase FiRestore)
Crash on Google Play Pre-Launch Report: java.lang.NoSuchMethodError(Google Play发布前崩溃报告:java.lang.NoSuchMethodError)