Delphi XE之路(3)解决启动时短暂的黑屏

简介: <div style="margin:0px; padding:0px; font-family:punctuation,微软雅黑,Tohoma; font-size:14px; line-height:22px"> 以下转自玻璃城市的博客,已经在我手机上测试成功!不过带来一个新的问题,在手机横向时程序会停止执行??? <br><span style="margin:0px; paddi
以下转自玻璃城市的博客,已经在我手机上测试成功!不过带来一个新的问题,在手机横向时程序会停止执行??? 
   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下载速度很快,反而用起来感觉不错,只是调试速度很慢。


目录
相关文章
|
Web App开发 缓存 安全
让你的win10/win11系统变得不再卡顿,优雅草伊凡整理-长期更新-如何让windows操作系统不用老是重装依然保持流畅运行
如题:让你的win10/win11系统变得不再卡顿,优雅草伊凡整理-长期更新-如何让windows操作系统不用老是重装在不断的更新中依然保持流畅运行 本文长期更新,本次更新2023年11月8日! 很多时候 我们的win10win11系统不管再怎么关闭更新,都会莫名又被打开,莫名的关机和自动更新,总是在你不注意的时候就更新,因此大家也明白微软的厉害了,扯远了,但是频繁的更新会让系统特别卡,传统办法就是重装系统,因而还衍生了很多一件重装工具,但是每一次重装的代价都是巨大的我相信每个同学都明白。
|
JSON C++ 数据格式
《C++避坑神器·二十二》VS能正常运行程序,但运行exe程序无响应解决办法
《C++避坑神器·二十二》VS能正常运行程序,但运行exe程序无响应解决办法
155 0
|
Windows
太阳当空照-Windows服务化方式NSSM指令清单(上)
太阳当空照-Windows服务化方式NSSM指令清单
222 0
|
监控 Windows
太阳当空照-Windows服务化方式NSSM指令清单(下)
太阳当空照-Windows服务化方式NSSM指令清单(下)
291 0
关于 Photoshop20xx系列启动出现“应用程序无法正常启动(0xc0000022)“无法启动 的解决方法
关于 Photoshop20xx系列启动出现“应用程序无法正常启动(0xc0000022)“无法启动 的解决方法
关于 Photoshop20xx系列启动出现“应用程序无法正常启动(0xc0000022)“无法启动 的解决方法
|
搜索推荐 Java 程序员
IDEA惊天bug:进程已结束,退出代码-1073741819 (0xC0000005)-2
IDEA惊天bug:进程已结束,退出代码-1073741819 (0xC0000005)
830 0
IDEA惊天bug:进程已结束,退出代码-1073741819 (0xC0000005)-2
|
Java Linux
IDEA惊天bug:进程已结束,退出代码-1073741819 (0xC0000005)-1
IDEA惊天bug:进程已结束,退出代码-1073741819 (0xC0000005)
770 0
IDEA惊天bug:进程已结束,退出代码-1073741819 (0xC0000005)-1
|
Windows
Win10如何开启“上帝模式”
win10的上帝模式就是win10的全部功能展示模式,因为功能太强大,所以被戏称为“上帝模式”。 要开启win10的上帝模式,需要按下面的步骤来操作: 1、在window桌面新建一个普通的文件夹。
734 0