当前位置: 首页 > 知识库问答 >
问题:

科尔多瓦的闪屏图像问题!在cordova 4.0中显示模糊的图像。2.

马亮
2023-03-14

根据cordova应用程序,我更改了配置。xml

    <platform name="android">
                <splash density="land-hdpi" src="res/drawable-land-hdpi/screen.png" />
                <splash density="land-ldpi" src="res/drawable-land-ldpi/screen.png" />
                <splash density="land-mdpi" src="res/drawable-land-mdpi/screen.png" />
                <splash density="land-xhdpi" src="res/drawable-land-xhdpi/screen.png" />
                <splash density="land-xxhdpi" src="res/drawable-land-xxhdpi/screen.png" />
                <splash density="land-xxxhdpi" src="res/drawable-land-xxxhdpi/screen.png" />
                <splash density="port-hdpi" src="res/drawable-port-hdpi/screen.png" />
                <splash density="port-ldpi" src="res/drawable-port-ldpi/screen.png" />
                <splash density="port-mdpi" src="res/drawable-port-mdpi/screen.png" />
                <splash density="port-xhdpi" src="res/drawable-port-xhdpi/screen.png" />
                <splash density="port-xxhdpi" src="res/drawable-port-xxhdpi/screen.png" />
                <splash density="port-xxxhdpi" src="res/drawable-port-xxxhdpi/screen.png" />
  </platform>

当我启动移动应用程序时,图像将显示模糊

共有1个答案

相温文
2023-03-14

问题:我在1024*768分辨率的设备上遇到了这个测试。
我相信它发生在没有完全匹配的分辨率的时候。

解决方案:我通过使用一个自定义主题来解决这个问题,该主题在初始屏幕上使用了drawable。只要您对“拟合/填充/居中”图像显示方法满意,此方法就适用。(可能不会“拉伸”,否则我们很可能会再次得到模糊的图像。)

注意:这看起来很长,但实际上没有那么糟糕。我只是想彻底解释一下。

我的文件夹结构

├───config.xml
└───res    
    └───android
        ├───drawable
        │       splash_screen.xml
        ├───drawable-hdpi
        │       splash_logo.png
        ├───drawable-ldpi
        │       splash_logo.png
        ├───drawable-mdpi
        │       splash_logo.png
        ├───drawable-xhdpi
        │       splash_logo.png
        ├───drawable-xxhdpi
        │       splash_logo.png
        ├───drawable-xxxhdpi
        │       splash_logo.png
        └───values
                style.xml

splash_screen.xml

  • 这是您定义闪屏的地方。
    • 您将定义如何在这里使用splash_logo(适合/填充/中心/颜色/等)。
    • Ralf对“全屏幕背景上的android xml可绘制图像”的回答提供了示例
    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    
        <item>
            <color android:color="#FFFF" />
        </item>
        <item>
            <bitmap
                android:src="@drawable/splash_logo"
                android:gravity="center_horizontal|center_vertical"
                />
        </item>
    
    </layer-list>
    

    splash_logo.png

    • 这可以是一个全屏图像或更小的居中图标(或任何你想要的)
    • 您可以在这里看到哪些屏幕尺寸对应于哪个密度桶(hdpi/xhdpi/etc)
    • 您可以手动或使用工具执行此操作
    • 我使用Android Studio的Android Drawable Importer插件生成其他密度图像。您可以按照erluxman的回答“有没有一种方法可以从大规模图像中创建xxhdpi、xhdpi、hdpi、mdpi和ldpi可绘制图像?”

    风格xml

    • 这是将使用您的drawable的自定义主题
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <!-- Full screen theme with custom splash screen -->
        <style name="MyTheme.FullScreen.Splash" parent="@android:style/Theme.DeviceDefault.NoActionBar">
    
            <!-- Make it full screen (since plugins don't seem to work) -->
            <!-- Remove these 2 lines if you don't want full screen -->
            <item name="android:windowFullscreen">true</item>
            <item name="android:windowContentOverlay">@null</item>
    
            <!-- Use our drawable for the splash screen! -->
            <item name="android:windowBackground">@drawable/splash_screen</item>
    
        </style>
    </resources>
    

    配置。xml(最后)

    • 我们需要将所有内容与配置文件链接起来
    <platform name="android">
        <edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application/activity[@android:label='@string/activity_name']">
            <activity android:theme="@style/MyTheme.FullScreen.Splash" />
        </edit-config>
        <resource-file src="res/android/values/style.xml" target="app/src/main/res/values/style.xml" />
        <resource-file src="res/android/drawable/splash_screen.xml" target="app/src/main/res/drawable/splash_screen.xml" />
        <resource-file src="res/android/drawable-ldpi/splash_logo.png" target="app/src/main/res/drawable-ldpi/splash_logo.png" />
        <resource-file src="res/android/drawable-mdpi/splash_logo.png" target="app/src/main/res/drawable-mdpi/splash_logo.png" />
        <resource-file src="res/android/drawable-hdpi/splash_logo.png" target="app/src/main/res/drawable-hdpi/splash_logo.png" />
        <resource-file src="res/android/drawable-xhdpi/splash_logo.png" target="app/src/main/res/drawable-xhdpi/splash_logo.png" />
        <resource-file src="res/android/drawable-xxhdpi/splash_logo.png" target="app/src/main/res/drawable-xxhdpi/splash_logo.png" />
        <resource-file src="res/android/drawable-xxxhdpi/splash_logo.png" target="app/src/main/res/drawable-xxxhdpi/splash_logo.png" />
    </platform>
    

    就这些!

    故障排除:

    • 通过检查/platforms/android/app/src/main/res,您可以检查是否正确复制了所有资源
    • 确保您的自定义主题被注入到/platforms/android/app/src/main/AndroidManifest中。xml

 类似资料:
  • 前段时间我问(并解决了)我的应用程序的iOS版本的相同问题(Cordova iOS 6.1.1白色闪屏),现在我对Android有同样的问题。 我正在使用cordoa-cli-10.0.0使用在线工具构建apk 应用程序运行,但我只看到一个白屏,而不是我的闪屏文件。 在我的配置.xml文件中,我有以下初始屏幕设置(我在这里跳过了其他设置,如果需要,我可以发布它们): 我添加了xxhdpi和xxxh

  • 下面的程序适用于目录中的第一个. jpg。当第二次调用时,它会得到一个“_tkinter。图片"pyImage2"不存在"异常。为什么它会得到错误?有没有办法重用第一个图像而不是创建第二个? 导入系统,如果是系统,则导入操作系统。版本信息[0]==2: 导入Tkinter Tkinter=Tkinter其他:从PIL导入图像,ImageTk导入Tkinter 这是控制台输出。Traceback(最

  • 我在试着模糊图像 它会模糊图像,但不是图像的所有部分。 我所缺少的地方,这样它就会模糊完整的图像。没有任何路径。

  • 我有一个标题,我想显示一个图像在它的右边,当鼠标在标题上。 > 我正在将变量editMode的状态设置为true/false 然后我使用onMouseOver和onMouse事件有条件地呈现图像。 现在,当我悬停在标题上时,编辑模式设置为true,图像显示出来,当我将光标移出标题时,editMode设置为false,图像消失。 我正在维护一个变量editMode的状态,该状态被设置为true/fa

  • 然后,我根据页面大小与图像大小计算缩放的维度,返回:java.awt.dimension[width=562,height=792]我使用下面的代码来计算缩放的维度: 为了实际执行图像缩放,我使用image Scalr API: 我的问题是我做错了什么?当缩放到较小的尺寸时,大的图像不应该被模糊。这与PDF页面的分辨率/大小有关吗?

  • 问题内容: 我正在尝试在Java游戏中实现模糊机制。如何在运行时创建模糊效果? 问题答案: 请参阅/ Google“卷积滤镜”,这是一种根据周围像素值更改像素值的方法。因此,除了模糊之外,您还可以进行图像锐化和寻线。