FireMonkey创建第一个跨平台应用
来源:互联网 发布:公司域名注册 编辑:程序博客网 时间:2024/05/16 05:57
在Appmethod 1.17或Delphi 10 Seattle中新建一个Multi-Device Application:
生成的项目结构如下图,因为是在Windows 10 64位系统上,且配置了Android开发环境,自动加入了32-bit Windows,64-bit Windows和Android三个目标平台,连接了一部华为T8950手机并安装了驱动,所以被Android SDK所识别,因为没有安装mac和ios的支持,所以无法加入对应的目标平台。
在Object Inspector中看到,Position和VCL的Form一样,想必是为了兼容Windows平台所保留的,选择ScreenCenter,屏幕居中,当然这个对Android是没有影响的。
在窗体设计视图的右上部,可以看到一个为View的下拉列表,单击Available下面的设备名,可以将对应的设备视图加入:
同时发现,Object Inspector中的Name属性自动发生了改变:
切回到Windows Desktop视图,Name后面变为Windows:
F12由窗体设计视图切换到代码编辑器,查看窗体源代码,窗体的真正名称Form1不会随之改变:
unit Unit1;interfaceuses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs;type TForm1 = class(TForm) private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.fmx}end.
当前的TForm1继承的TForm来自于FMX.Forms,在uses部分还可以看到其它一些FMX.开头的相关单元,F12回到设计视图:
在Object Inspector中展开Fill属性,将Kind选为Solid,Color选为Turquoise,将会对窗体的背景进行实色填充:
Kind选择为Gradient将进行渐变填充,选择Gradient属性下拉列表中的Edit,可以编辑颜色:
如果在View中选择在Windows Desktop和Android之间切换,并对Fill设置不同的属性,会发现它们互不影响,不同设备视图中对属性的修改是独立的,这里Android虽然背景虽然是渐变填充了,切回Windows Desktop,还是实色填充。
在右侧Project Manager中Target Platform中32-bit Windows粗体显示选中的状态下,按F9运行,在Windows 10中的效果如下图:
同样,选中Android中的T8950,按F9,将会自动发布到手机并运行:
在真机中运行的截图如下:
- FireMonkey创建第一个跨平台应用
- PhoneGap 跨平台应用:HealthWorking (1) 创建第一个跨平台应用
- 创建第一个应用
- 创建第一个RMI应用
- 创建第一个Tomcat应用
- 创建第一个OpenUI5应用
- 创建第一个android应用
- 创建第一个vue应用
- nodeJS创建第一个应用
- 创建第一个cocos2d 应用
- 10 个创建跨平台移动应用的解决方案
- 10 个创建跨平台移动应用的解决方案
- 关于如何创建第一个 iOS 应用
- 创建Sencha touch第一个应用
- Android基础课程-创建第一个应用
- node.js 创建第一个web应用
- 10002---Node.js 创建第一个应用
- android wear第一个应用,创建 Notification
- 上传文件漏洞&解析漏洞
- PopupWindow与PopupMenu的用法
- 好书推荐-《Head First设计模式》
- 离线+并查集 hdu5441 Travel
- clipdrawable
- FireMonkey创建第一个跨平台应用
- virtualbox装系统遇到的报错问题Unable to load R3 module D:\Program Files\Oracle\VirtualBox/VBoxDD.DLL (VBox
- ubuntu安装docker
- 10.Android ImageView ScaleType属性
- linux 基础命令
- JavaSE笔记
- Android--Handler+Looper+MessageQueue+Thread线程之间的通信
- js笔记
- Crazy android书中Fragment与Activity交互案例分析