[教程]Delphi Android应用启动画面详解

很多人在吐嘈Delphi Android Splash 的设定(包括我在内),确实设计的很糟糕。不过话说回来了,也不是不能用,所以大家研究之后,八仙过海,各显神通。对于这些教程,大家可以参考。

首先说一下 Delphi 自带的 Android Splash 实现的限制:

  • 启动画面要求是透明或者黑色的,这是由于默认生成的 splash_image_def.xml 中,指定了背景色为黑色,如果不是透明或者黑色的,那么你需要:
    • 复制一份 splash_image_def.xml 到自己的目录
    • 在发布页面中,替换原始的 splash_image_def.xml(不选中原来的文件,然后增加自己的文件,目标目录相同)
    • 修改 splash_image_def.xml,替换原来的颜色设置 @android:color/black 为自己 splash 图片边缘的颜色
    • 由于修改后的splash_image_def.xml 不再与选项设置自动同步,你需要自己修改对齐和缩放设置(可以参考系统自动生成的默认文件里的值)
  • 启动画面的内容尺寸,应尽量保证内容不超过宽度和调度中小的那个,也就是说不要超过画面内容宽度不超过高度,剩下的部分,填充背景色或整体透明。这样可以保证启动画面无论横屏还是竖屏都表现良好
  • splash_image_def.xml 和 styles.xml 相互配合用,注意保持二者的一致性

如果你注意到上面的限制,那么如果不修改系统的 Splash 相关配置文件,实际上推荐的启动画面设计的基本设计也就有数了:

  • 设计并生成符合 Delphi 自身要求的图片尺寸的启动图片(不需要 .9.png)
  • 在 Project – Options 中,将相关的图片关联上去
  • 复制并修改替换默认的 splash_image_def.xml(注意文件名不能动,styles.xml 引用了这个名字,当然你要连 styles.xml 一起改,那么无所谓,同步就行了)
  • 重新编译打包并运行你的 Android 程序
  • 一般设置图片重复模式为 disabled,设置重心为 bottom

额外说明几点:

  • Android 系统里,好多系统的动画都是先放大应用的图标,然后才直接切到应用自己的启动画面的,这也就意味着,启动画面边缘的颜色和图标的颜色设计成一致的,更有利于视觉效果的一致性
  • 如果要在启动画面中,显示广告那实际上是做不到的,一般的广告显示实际上是第二启动画面。如果想做,实际上就是拿 FMX 做一个广告窗口,然后这方面就完全自由了。第一启动画面实际存续时间很短,没必要在其上做更多工作,第二启动画面才是能自由发挥的地方,但考虑到视觉效果的一致性,背景色仍推荐保持一致。

分享到: