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下载速度很快,反而用起来感觉不错,只是调试速度很慢。
Delphi XE5 for Android (八)的更多相关文章
- Delphi XE5开发Android程序使用自定义字体文件.
万事大吉,只欠根据字体文件(.ttf文件)切换阅读字体,通常Android系统只带三种以下字体.一般用Java/Eclipse开发的话比较简单,typeface的createFromAsset,cre ...
- Delphi XE5的Android开发平台搭建[转]
Delphi XE5支持Android ARM的开发,可以在Android虚拟机里运行,因此建议将XE5安装在64bit的Windows,内存可以大于3GB Delphi XE5安装光盘中包含了最基本 ...
- Delphi XE5 for Android (一)
Delphi XE5 出来了,支持Android的开发,试用了一下,有几个问题: 1.只支持ARM7的设备,不支持Inter设备.手上刚好有一个华硕K004,很遗憾用不上,只能用手机试了. 2.要支持 ...
- Delphi XE5的Android开发平台搭建
Delphi XE5支持Android ARM的开发,可以在Android虚拟机里运行,因此建议将XE5安装在64bit的Windows,内存可以大于3GB Delphi XE5安装光盘中包含了最基本 ...
- Delphi XE5 for Android (七)
Delphi XE5下,TMainMenu和TPopupMenu不可用,那么如何支持Android的菜单呢? 查看了一些资料,不得要领,只是摸索着先模拟一下吧. 首先在窗体上放置一个TPanel,在其 ...
- Delphi XE5 for Android (九)
Delphi XE5 下TEdit控件有个属性:KeyboardType,如下图: 该属性决定了当焦点进入TEdit时,系统弹出的输入窗体,按照其帮助文件说明,不同取值的输入窗体不同,如下图: 根 ...
- 解决 Delphi XE5 写Android程序的No resource identifier found for attribute... 错误【转】
原文:http://www.hxhlb.cn/article/32142aaeb67bbc05379369c3.html 那一天,我装上了RAD Studio XE5. 当天晚上,我就写了一个小小的A ...
- RAD DELPHI XE5的android开发环境配置
RAD XE5 支持本地化跨平台编译(IOS,OS-X,WIN 64,WIN32,ANDROID) 对于android的开发环境,XE5支持模拟器,和真机设备两种模式: 1. 模拟器:(支持4.0.3 ...
- Delphi XE5 for Android (十一)
以下内容是根据Delphi的帮助文件进行试验的,主要测试Android下的消息提醒. 首先建立一个空白的Android工程,然后在窗体中加入一个TNotificationCenter控件,如下图: 再 ...
随机推荐
- C# 图片 旋转和翻转 RotateFlip
1.Rotate90FlipX2.Rotate90FliY3.Rotate90FlipXY4.Rotate90FlipNone以上面四个为例:1是指定后接水平翻转的90度顺时针旋转,2是指定后接垂直翻 ...
- 软工网络15团队作业4——Alpha阶段敏捷冲刺6.0
软工网络15团队作业4--Alpha阶段敏捷冲刺6.0 1.每天举行站立式会议,提供当天站立式会议照片一张. 2.项目每个成员的昨天进展.存在问题.今天安排. 成员 昨天已完成 今天计划完成 郭炜埕 ...
- 岭回归、LASSO与LAR的几何意义
https://blog.csdn.net/u013524655/article/details/40922303 http://f.dataguru.cn/thread-598486-1-1.htm ...
- hdu5422 最大表示法+KMP
#include <iostream> #include <algorithm> #include <string.h> #include <cstdio&g ...
- hdu5067
题意 给了一个n*m的网格 然后一台挖掘机从(0,0) 这个位置出发,收集完全部的石头回到(0,0)挖掘机可以有无限的载重 用旅行商处理 dp[k][i] 表示在这个集合中最后到达i的最小距离,用集合 ...
- Memento Mori (二维前缀和 + 枚举剪枝)
枚举指的是枚举矩阵的上下界,然后根据p0, p1, p2的关系去找出另外的中间2个点.然后需要记忆化一些地方防止重复减少时间复杂度.这应该是最关键的一步优化时间,指的就是代码中to数组.然后就是子矩阵 ...
- Factory Method
Question:Based on the previous article,what could you do if we must add an extra function? For exam ...
- golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息
golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息 Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放 ...
- 自学java第六周的总结
在这个星期里,我主要将以前看过的复习了一遍,并且阅读并做了相关的题. 下个星期继续努力.
- 案例:Redis在唯品会的大规模应用
目前在唯品会主要负责redis/hbase的运维和开发支持工作,也参与工具开发工作,本文是在Redis中国用户组给大家分享redis cluster的生产实践. 分享大纲 本次分享内容如下: 1.生产 ...