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下载速度很快,反而用起来感觉不错,只是调试速度很慢。

 

Delphi XE5 for Android (八)的更多相关文章

  1. Delphi XE5开发Android程序使用自定义字体文件.

    万事大吉,只欠根据字体文件(.ttf文件)切换阅读字体,通常Android系统只带三种以下字体.一般用Java/Eclipse开发的话比较简单,typeface的createFromAsset,cre ...

  2. Delphi XE5的Android开发平台搭建[转]

    Delphi XE5支持Android ARM的开发,可以在Android虚拟机里运行,因此建议将XE5安装在64bit的Windows,内存可以大于3GB Delphi XE5安装光盘中包含了最基本 ...

  3. Delphi XE5 for Android (一)

    Delphi XE5 出来了,支持Android的开发,试用了一下,有几个问题: 1.只支持ARM7的设备,不支持Inter设备.手上刚好有一个华硕K004,很遗憾用不上,只能用手机试了. 2.要支持 ...

  4. Delphi XE5的Android开发平台搭建

    Delphi XE5支持Android ARM的开发,可以在Android虚拟机里运行,因此建议将XE5安装在64bit的Windows,内存可以大于3GB Delphi XE5安装光盘中包含了最基本 ...

  5. Delphi XE5 for Android (七)

    Delphi XE5下,TMainMenu和TPopupMenu不可用,那么如何支持Android的菜单呢? 查看了一些资料,不得要领,只是摸索着先模拟一下吧. 首先在窗体上放置一个TPanel,在其 ...

  6. Delphi XE5 for Android (九)

    Delphi XE5 下TEdit控件有个属性:KeyboardType,如下图:   该属性决定了当焦点进入TEdit时,系统弹出的输入窗体,按照其帮助文件说明,不同取值的输入窗体不同,如下图: 根 ...

  7. 解决 Delphi XE5 写Android程序的No resource identifier found for attribute... 错误【转】

    原文:http://www.hxhlb.cn/article/32142aaeb67bbc05379369c3.html 那一天,我装上了RAD Studio XE5. 当天晚上,我就写了一个小小的A ...

  8. RAD DELPHI XE5的android开发环境配置

    RAD XE5 支持本地化跨平台编译(IOS,OS-X,WIN 64,WIN32,ANDROID) 对于android的开发环境,XE5支持模拟器,和真机设备两种模式: 1. 模拟器:(支持4.0.3 ...

  9. Delphi XE5 for Android (十一)

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

随机推荐

  1. Running tests on PyCharm using Robot Framework

    问题: I started using PyCharm with the robot framework, but i'm facing an issue. how can i run my test ...

  2. 使用Python中的config配置

    Python中有ConfigParser类,可以很方便的从配置文件中读取数据(如DB的配置,路径的配置),所以可以自己写一个函数,实现读取config配置. config文件的写法比较简单,[sect ...

  3. 设计模式之Factory(工厂)(转)

    定义:提供创建对象的接口. 为何使用? 工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见. 为什么工厂模式是如此常用?因为工厂模式就 ...

  4. vue-cli项目npm run build后,index.html无法在浏览器打开

  5. 根据IP获取所在的国家城市

    根据IP获取所在的国家城市 新浪的IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js 新浪多地域测试方法:htt ...

  6. [转载] c#中decimal ,double,float的区别

    一直很奇怪C#的预定义数据类型中为什么加了一个decimal,有float和double不就够了吗?今天来挖一挖. 浮点型 Name CTS Type De script ion Significan ...

  7. how to backup your system of Autel MS908 Pro

    how to backup your system of Autel Scan Tool Autel MS908 Pro: Connect the tablet to a PC desktop or ...

  8. 实例,C# 导出.dbf格式文件

     using System; using System.Collections using System.Configuration; using System.Data; using System. ...

  9. GoldenGate 12.3微服务架构与传统架构的区别

    随着Oracle GoldenGate 12c(12.3.0.1.0)的发布,引入了可用于复制业务数据的新架构. 多年来,这种架构有着不同的称谓,Oracle终于在最后GA发布的版本中,以“Micro ...

  10. The logback manual #01# Introduction

    依赖包如下pom.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&qu ...