Delphi XE5 for Android (八)
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 (八)相关推荐
- Delphi XE5 for Android (十)
我觉得Delphi最强大的的功能之一就是开发数据库三层应用的DataSnap,在Android上的实现,首先是完成服务器的设计: (1)利用向导完成DataSnap服务器的框架,如下图: 由于是实验, ...
- Delphi XE5 for Android (十一)
以下内容是根据Delphi的帮助文件进行试验的,主要测试Android下的消息提醒. 首先建立一个空白的Android工程,然后在窗体中加入一个TNotificationCenter控件,如下图: 再 ...
- Delphi XE5 for Android (三)
在VCL下,常用的询问对话框包括 procedure TfrmMainVCL.btnAppMessageboxClick(Sender: TObject); begin if Application. ...
- delphi10android保存数据,DELPHI XE5 Android – SDCard的SAVE / LOAD文件
我正在使用Delphi XE5进行 Android开发. 我喜欢将TStringList保存并加载到SDCard上的文本文件中. 当我将TStringList保存到文件时,一切正常.保存后我可以调用L ...
- xe5 android 模拟器,Delphi xe5如何使用Bluestacks模拟器。
Delphi xe5如何使用Bluestacks模拟器. 首先,关于这个模拟器问题比较纠结,这是一个关于adb的问题. Delphi XE5会自动识别模拟器和真机,但是你必须先打开模拟器在打开Delp ...
- Delphi XE5 常见问题解答
Delphi XE5 常见问题解答 有关于新即时试用的问题吗?请看看 RAD Studio 即时试用常见问答. 常见问题 什么是 Delphi? Embarcadero? Delphi? XE5 是易 ...
- 垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
Delphi 是一个基本上被我遗忘的工具, 要不是在使用RapidSql , 我是收不到Embarcadero 公司发出的邀请来參加Delphi XE5的公布会的. 有人可能要问为什么是Embarca ...
- 垂死挣扎还是涅槃重生 -- Delphi XE5 发布会归来感想
Delphi 是一个基本上被我遗忘的工具, 要不是在使用RapidSql , 我是收不到Embarcadero 公司发出的邀请来参加Delphi XE5的发布会的. 有人可能要问为什么是Embarca ...
- Delphi xe5如何使用Bluestacks模拟器。
首先,关于这个模拟器问题比较纠结,这是一个关于adb的问题. Delphi XE5会自动识别模拟器和真机,但是你必须先打开模拟器在打开Delphi IDE(Delphi开发环境),否则还得麻烦一会儿. ...
最新文章
- JBOSS java.lang.NoClassDefFoundError: org/apache/commons/digester/RuleSet
- 意料之外,情理之中,Spring.NET 3.0 版本发布-
- MS17-010(永恒之蓝)漏洞分析与复现
- scala编程第16章学习笔记(1)
- NLP复习资料(7)-机器翻译、文本分类、情感分析
- 《零基础》MySQL WHERE 子句(十三)
- 各纬度气候分布图_印度和中国都是季风气候显著的国家,但冬夏季风的强弱却完全不同...
- Java分段函数选择结构,编程流程作业选择结构(50题)
- 鸿蒙正式版什么时候上线,终于来了!华为鸿蒙正式版6月2日上线,EMUI时代落幕...
- Shader 学习笔记:水面
- java Springboot 生成 二维码 +logo
- 使用Stream生成菜单、地区树
- 抽象 封装 继承 多态
- kali工具 -- setoolkit(克隆网站及利用)
- MongoDB的一些基本使用
- 禁止使用搜狗浏览器打开QQ邮箱,更换成其他邮箱
- DSP快速复盘——时钟系统总结(基本知识+核心代码)基于TMS2802x处理器
- 解决CCS闪退问题(亲测有效)
- [附源码]java毕业设计基于Java的快递驿站管理系统
- 30秒了解Excel的前世今生
热门文章
- mybatis count返回null_Mybatis属性示例-Properties的三种配置方式
- java中什么方法用来清空流_这个真的写的很细,JavaIO中的常用处理流,看完只有10%的人还不懂了...
- c语言中左右对齐的作用,c语言中右对齐的符号
- 异步fifo_FPGA设计基础——FIFO的应用
- 虚幻四如何实现第一人称_虚幻周报20200930 | 双节快乐么么哒!
- java一系列数组的表示方法_Java入门系列-10-数组
- 无基础人员转行做机器学习可以吗?
- linux篇:查看Linux版本号
- idea查看方法的返回类型和自动出来变量
- Linux命令之find的用法