一个很普通的定时对话框,比如自动更新的确认对话框,网上找了好久竟然没有,(Delphi Android下的, JAVA的一大堆,比如这个 https://github.com/MZCretin/AutoUpdateProject ,是国人写的,看着就不错,虽然看不懂)。
安卓是一个很奇怪的系统,窗体都是异步的非模态的,这样实现阻塞对话框很麻烦。有人提过不要用TForm来实现对话框,用TFrame来实现,我感觉用TFrame来做也是很麻烦。看过一个高手写的DEMO,是自己“画”的,看着累。
偶然看到一个帖子: https://blogs.embarcadero.com/simulating-transparent-dialog-on-firemonkey-mobile/
原来Layout还有这个功能,原来只是以为布局用的,真是孤陋寡闻啊。
这个帖子里提到的方法,就是核心了,TLayout.MakeScreenshot,咱们也来造假。就是把调用窗体的背景Shot下来,然后贴到对话框所在窗体,欺骗下人类的眼睛。
对应静态的窗体效果不错啊。。。
测试效果还可以,动态的界面就算了,不适用。
Window下开发,能不用线程尽量不用,Android下,能用线程的地方尽量用,难怪要这么多核......................
delphi 10.4.2 android 测试DEMO代码下载: https://download.csdn.net/download/jankercsdn/16683747 (主要代码也贴在了盒子上,http://bbs.2ccc.com/topic.asp?topicid=607677)