【问题标题】:Delphi XE7 Android splash screen - background colorDelphi XE7 Android 闪屏-背景色
【发布时间】:2014-12-28 15:03:48
【问题描述】:

我可以看到 Delphi XE7 带有对 Android 的启动/启动图像支持。

但是,当我选择将图像居中(看起来最好)时,Delphi 会在其周围显示黑色。我更喜欢白色,因为它更适合应用程序的图像和颜色主题。您设置启动画面/启动图像的背景颜色似乎没有选项。

我怎样才能改变这种颜色?

【问题讨论】:

    标签: android delphi delphi-xe7


    【解决方案1】:

    如果您想用与图像相同的背景颜色填充黑色背景,您必须使用 9patch 图像。要制作 9patch png,请使用 NinePatch(包含在 android sdk 中)

    一旦你有图像,添加到你的项目并像这样设置:

    • 闪屏模式:禁用
    • 飞溅重力:中心

    然后进入项目->部署:

    1. 取消选中 splash_image_def.xml(不部署)
    2. 将您的 splash_image.png 重命名为 splash_image_def.9.png

    【讨论】:

    • 我试过了,它可以正常工作。这个答案应该被接受为问题的答案。谢谢。
    【解决方案2】:

    启动图像没有背景颜色属性,因为它应该是图像的一部分。 Android 上的 Splash 图片有 4 种不同的可能尺寸:

    • 426 x 320
    • 470 x 320
    • 640 x 480
    • 960 x 720

    因此,根据您支持的设备,您最多应该有 4 张与这些尺寸匹配的图像,背景颜色可以随意选择。将其设置为填满整个屏幕,并确保您没有使用透明度。对于Splash Gravity,选择fill 选项。

    【讨论】:

    • 我已经填充了 XE7 中可用的所有尺寸(其中不包括您所列出的所有尺寸?) nd Delphi 似乎选择了仅填充的背景图像,例如垂直中心,但在操作/底部周围有很多空间。我有:426*320、470*320、640*480、960*720
    • 您的图片是否基于模板中默认提供的图片?
    • 我已将它们替换为我自己的图像,这些图像具有项目选项 - 应用程序中定义的精确尺寸
    • 我还假设您选择了 Fill? (我没有可用于测试的 android)
    • 我选择中心,因为我不希望图像尺寸倾斜。由于“中心”是一个选项,因此如果可以选择背景颜色会很有意义:)
    【解决方案3】:

    如果你只是想改变闪屏的背景颜色,你可以修改两个文件。 colors.xmlsplash_image_def.xml。您可以在项目的Android/Debug/(或Android64/Debug/)文件夹中找到这些文件。每次部署应用程序时都会重新创建这些文件,因此您需要制作它们的备份副本。

    Project|Deployment 中,取消勾选这些项目并为您制作的副本创建新条目,确保将它们部署到相同位置。您最终会得到两个 DebugRelease 条目。

    编辑colors.xml 并添加您想要的新颜色

    <?xml version="1.0" encoding="utf-8"?>
    <resources xmlns:android="http://schemas.android.com/apk/res/android">
        <color name="notification_accent_color">#000000</color>
        <color name="logoblue">#0094ff</color>
    </resources>
    

    在这里我添加了 logoblue 颜色。接下来编辑splash_image_def.xml 并将@android:color/black 更改为@color/logoblue。它应该看起来像下面这样

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:opacity="opaque">
    <item android:drawable="@color/logoblue" />
    <item>
    <bitmap
      android:src="@drawable/splash_image"
      android:antialias="true"
      android:dither="true"
      android:filter="true"
      android:gravity="center"
      android:tileMode="disabled"/>
    </item>
    </layer-list>
    

    可能有更简单的方法可以做到这一点,但这是我经过反复试验得出的结论。

    【讨论】:

      【解决方案4】:

      要更改默认的黑色启动画面,只需打开 splash_image_def.xml 在调试文件夹中,

      如果你想把它改成白色,把“黑色”改成白色,像这样

      <item android:drawable="@android:color/white" />
      

      注意:在源代码、布局或 RAD Studios 中的任何内容都没有更改的情况下构建它。只需用记事本编辑文件 xml,保存,然后重新生成。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-02-23
        • 2019-10-28
        • 1970-01-01
        • 2015-03-17
        • 1970-01-01
        • 1970-01-01
        • 2016-01-10
        • 2015-08-15
        相关资源
        最近更新 更多