delphi xe5 编译的程序在启动时会有短暂的黑屏出现,这个现象产生是因为启动首个activity时会加载一些初始化数据,整个时间大约在2~3秒,如何处理?

网上有些资料,这里主要参考和整理了CSDN论坛上第42#liaobo的回复。

第一步:建立2个文件:loading.png 和 styles.xml,其中loading.png 是启动时替代黑屏的图片,styles.xml是对背景图片的定义,其内容为:

<resources>
<style name="MyTheme.NoTitleBar.CustomBackground" parent="@android:Theme.Black">  <item name="android:windowBackground">@drawable/loading</item>  <item name="android:windowNoTitle">true</item>  <item name="android:windowFullscreen">true</item>  <item name="android:windowContentOverlay">@null</item>
</style>
</resources>

特别需要注意的是:

(1)Delphi中代码是大小写不敏感的,所以Delphi程序员一般在写程序时不太注意大小写。而在Java下大小写是敏感的,在styles.xml定义中“loading”的这个文件名一定要用小写,否则在部署时会报文件名错误。

(2)这两个文件可以放在任何目录下,我是放在了工程文件所在目录下新建的res目录。如下图:

第二步:将建立好的2个文件加入到工程的部署文件列表中,操作是打开工程的部署菜单,点击增加按钮(Add Files),将建立好的2个文件分别加入到列表中,如下图:

对加入的2个文件,修改PlatForm、RemotePath两个属性,其中PlatForm只选择Android,如下图:

按下F2或双击进入,修改RemotePath属性,如下图

其中

  styles.xml的RemotePath为 res\values\loading.png的RemotePath为 res\drawable-port\

如下图:

第三步:Ctrl+F9编译工程文件,并生成相关配置文件,打开工程文件所在目录,找到工程缺省配置文件AndroidManifest.template.xml,如下图:

用Delphi IDE 或记事本打开 AndroidManifest.template.xml 文件,查找以下文字:

android:theme="%theme%"

替换为以下文字,注意是替换,不是新增。

android:theme="@style/MyTheme.NoTitleBar.CustomBackground"

第四步:再次编译,部署到虚拟机,并运行后看到的启动效果如下:

这里需要说明的是:

有人说Delphi xe5 for Android的编译太慢,其实不是这样的。Delphi的编译器在生成.so文件时是非常快的,在我的机器上大约3~5秒就完成。慢是慢在部署和安装到虚拟机的时间。在我机器上生成apk文件大约需要10秒,而将apk文件下载到虚拟机上的时间取决于传输速率,在我的机器上是130k/s~500k/s之间,如下图:

这个缓慢的下载过程超过了一分钟,所以感觉很慢。如果使用真实设备,比如手机或pad,由于USB下载速度很快,反而用起来感觉不错,只是调试速度很慢。

转载于:https://www.cnblogs.com/china1/p/3410894.html

Delphi XE5 for Android (八)相关推荐

  1. Delphi XE5 for Android (十)

    我觉得Delphi最强大的的功能之一就是开发数据库三层应用的DataSnap,在Android上的实现,首先是完成服务器的设计: (1)利用向导完成DataSnap服务器的框架,如下图: 由于是实验, ...

  2. Delphi XE5 for Android (十一)

    以下内容是根据Delphi的帮助文件进行试验的,主要测试Android下的消息提醒. 首先建立一个空白的Android工程,然后在窗体中加入一个TNotificationCenter控件,如下图: 再 ...

  3. Delphi XE5 for Android (三)

    在VCL下,常用的询问对话框包括 procedure TfrmMainVCL.btnAppMessageboxClick(Sender: TObject); begin if Application. ...

  4. delphi10android保存数据,DELPHI XE5 Android – SDCard的SAVE / LOAD文件

    我正在使用Delphi XE5进行 Android开发. 我喜欢将TStringList保存并加载到SDCard上的文本文件中. 当我将TStringList保存到文件时,一切正常.保存后我可以调用L ...

  5. xe5 android 模拟器,Delphi xe5如何使用Bluestacks模拟器。

    Delphi xe5如何使用Bluestacks模拟器. 首先,关于这个模拟器问题比较纠结,这是一个关于adb的问题. Delphi XE5会自动识别模拟器和真机,但是你必须先打开模拟器在打开Delp ...

  6. Delphi XE5 常见问题解答

    Delphi XE5 常见问题解答 有关于新即时试用的问题吗?请看看 RAD Studio 即时试用常见问答. 常见问题 什么是 Delphi? Embarcadero? Delphi? XE5 是易 ...

  7. 垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想

    Delphi 是一个基本上被我遗忘的工具, 要不是在使用RapidSql , 我是收不到Embarcadero 公司发出的邀请来參加Delphi XE5的公布会的. 有人可能要问为什么是Embarca ...

  8. 垂死挣扎还是涅槃重生 -- Delphi XE5 发布会归来感想

    Delphi 是一个基本上被我遗忘的工具, 要不是在使用RapidSql , 我是收不到Embarcadero 公司发出的邀请来参加Delphi XE5的发布会的. 有人可能要问为什么是Embarca ...

  9. Delphi xe5如何使用Bluestacks模拟器。

    首先,关于这个模拟器问题比较纠结,这是一个关于adb的问题. Delphi XE5会自动识别模拟器和真机,但是你必须先打开模拟器在打开Delphi IDE(Delphi开发环境),否则还得麻烦一会儿. ...

最新文章

  1. JBOSS java.lang.NoClassDefFoundError: org/apache/commons/digester/RuleSet
  2. 意料之外,情理之中,Spring.NET 3.0 版本发布-
  3. MS17-010(永恒之蓝)漏洞分析与复现
  4. scala编程第16章学习笔记(1)
  5. NLP复习资料(7)-机器翻译、文本分类、情感分析
  6. 《零基础》MySQL WHERE 子句(十三)
  7. 各纬度气候分布图_印度和中国都是季风气候显著的国家,但冬夏季风的强弱却完全不同...
  8. Java分段函数选择结构,编程流程作业选择结构(50题)
  9. 鸿蒙正式版什么时候上线,终于来了!华为鸿蒙正式版6月2日上线,EMUI时代落幕...
  10. Shader 学习笔记:水面
  11. java Springboot 生成 二维码 +logo
  12. 使用Stream生成菜单、地区树
  13. 抽象 封装 继承 多态
  14. kali工具 -- setoolkit(克隆网站及利用)
  15. MongoDB的一些基本使用
  16. 禁止使用搜狗浏览器打开QQ邮箱,更换成其他邮箱
  17. DSP快速复盘——时钟系统总结(基本知识+核心代码)基于TMS2802x处理器
  18. 解决CCS闪退问题(亲测有效)
  19. [附源码]java毕业设计基于Java的快递驿站管理系统
  20. 30秒了解Excel的前世今生

热门文章

  1. mybatis count返回null_Mybatis属性示例-Properties的三种配置方式
  2. java中什么方法用来清空流_这个真的写的很细,JavaIO中的常用处理流,看完只有10%的人还不懂了...
  3. c语言中左右对齐的作用,c语言中右对齐的符号
  4. 异步fifo_FPGA设计基础——FIFO的应用
  5. 虚幻四如何实现第一人称_虚幻周报20200930 | 双节快乐么么哒!
  6. java一系列数组的表示方法_Java入门系列-10-数组
  7. 无基础人员转行做机器学习可以吗?
  8. linux篇:查看Linux版本号
  9. idea查看方法的返回类型和自动出来变量
  10. Linux命令之find的用法