摘要:
以下内容是根据Delphi的帮助文件进行试验的,主要测试Android下的消息提醒。首先建立一个空白的Android工程,然后在窗体中加入一个TNotificationCenter控件,如下图:再在uses中引用文件,如下:uses FMX.Platform;窗体上控件放置如下图:发送消息的代码如下:procedure TForm2.Button2Click(Sender: TObject);var MyNotification: TNotification;begin //通过消息中心创建消息 MyNotification := NotificationCenter1.CreateN... 阅读全文
摘要:
Delphi XE5 下TEdit控件有个属性:KeyboardType,如下图:该属性决定了当焦点进入TEdit时,系统弹出的输入窗体,按照其帮助文件说明,不同取值的输入窗体不同,如下图:根据不同需要选择,也可以在运行期改变取值,通过放置一个TPopupBox控件来进行设置,设计界面如下:代码如下:procedure TfrmKeyboard.PopupBox1Change(Sender: TObject); begin case PopupBox1.ItemIndex of 0: Edit1.KeyboardType := FMX.Types.TVirtualKeyboardT... 阅读全文
摘要:
delphi xe5 编译的程序在启动时会有短暂的黑屏出现,这个现象产生是因为启动首个activity时会加载一些初始化数据,整个时间大约在2~3秒,如何处理?网上有些资料,这里主要参考和整理了CSDN论坛上第42#liaobo的回复。第一步:建立2个文件:loading.png 和 styles.xml,其中loading.png 是启动时替代黑屏的图片,styles.xml是对背景图片的定义,其内容为: 特别需要注意的是:(1)Delphi中代码是大小写不敏感的,所以Delphi程序员一般在写程序时不太注意大小写。而在Java下大小写是敏感的,在styles.xml定义中“loading. 阅读全文
摘要:
今天尝试了TTabControl的使用。在很多Android的app中,首次启动时都使用选项卡模式进行产品介绍,用户通过向左滑动,改变选项卡。在xe5下这项工作由TTabControl控件完成,如下图:1、TTabControl外观TTabControl的外观由属性TabPosition控制,可选项包括:tpTop 选项tab在控件上方tpBottom 选项tab在控件下方tpNone 以原点形式显示选项tab,在控件下方,如下图:tpDots 以方格形式显示选项tab,在控件下方,如下图:2、控制换页对换页的处理有以下几种形式:(1)按钮+Action控制通过创建标准Action——TCha 阅读全文
摘要:
Delphi XE5下,TMainMenu和TPopupMenu不可用,那么如何支持Android的菜单呢?查看了一些资料,不得要领,只是摸索着先模拟一下吧。首先在窗体上放置一个TPanel,在其上放置一个TListBox充当菜单项,对每一个Item的OnClick事件编写具体的动作。如下图:由于要模拟菜单键,所以Panel放置在左下角,且设置Anchors属性为[akLeft,akBottom],即靠左靠下,已确保Panel在任何情况下都处在左下角,这个是Delphi非常强大的功能,不用编写代码来控制其位置,如下图:在Form的OnKeyDown事件中,对菜单按钮进行处理,按一下显示菜单Pa 阅读全文
摘要:
Android程序开发必然用到按钮,在XE5下,按钮的一个比较重要的属性就是StyleLookup,预置了一系列常用的图标,如下图:另外2个常用属性就是:GroupName和IsPressed:一组按钮取一个相同的GroupName,控制其中只能有一个被按下按钮的分布一般有几种形式:1、自由摆放,也就是在Form上自由放置;2、放置在TGridLayout控件中,由TGridLayout自动排列,通过ItemHeight和ItemWidth控制每个格子的大小;3、放置在TToolBar控件中,如下图: 阅读全文
摘要:
在Delphi中窗体与窗体之间的交互与调用非常简单,在FMX中这个优势得到了充分体现,先建立一个主窗体和一个需要调用的窗体: 在主窗体上放的按钮事件如下:…private { Private declarations } //定义私有窗体对象 Ffrm: TfrmOtherFMX;…procedure TfrmMainFMX.Button1Click(Sender: TObject); begin //创建并显示窗体 if not Assigned(Ffrm) then Ffrm := TfrmOtherFMX.Create(Self); Ffrm.Show; en... 阅读全文
摘要:
在VCL下,常用的询问对话框包括procedure TfrmMainVCL.btnAppMessageboxClick(Sender: TObject); begin if Application.MessageBox('是否退出?', '询问', MB_YESNO + MB_ICONQUESTION) = IDYES then begin Close; end; end;或者是:uses System.UITypes;procedure TfrmMainVCL.btnMessageDlgClick(Sender: TObject); begin if Me.. 阅读全文
摘要:
按照Embarcadero的说法:Windows平台只能使用VCL,Windows、iOS和Android都可以使用FMX,并且VCL和FMX不能同时在一个程序中。FMX的用法与VCL有一定的差异,先从最简单的说起:应用程序的关闭退出在VCL中,关闭程序的主窗体也就意味着程序的主循环结束,主程序自然而然结束。所以在主窗体中使用窗体的关闭函数(Close)即可,如下:procedure TfrmMain.btncloseClick(Sender: TObject); begin Close; end; 在FMX中,由Activity替代了Form的概念,虽然TForm类仍然存在,但MainF.. 阅读全文
摘要:
Delphi XE5 出来了,支持Android的开发,试用了一下,有几个问题:1、只支持ARM7的设备,不支持Inter设备。手上刚好有一个华硕K004,很遗憾用不上,只能用手机试了。2、要支持联机调试必须安装USB驱动,但一般设备都不带,后来安装360手机助手后自动安装了USB驱动,可用了。3、支持的控件、属性、方法、函数库都大变了,需要重新学习。4、联机调试的速度慢得惨不忍睹,使用仿真机还能忍受一下,使用实际设备慢得无法调试,是不是跟我用的USB驱动有关?5、编译后的apk至少5M以上,按照官方说法是:毕竟要跨平台,体积大很正常。看来Delphi XE5 支持Android的开发还有一段 阅读全文
摘要:
如何设计并使用FireMonkeyStyleFireMonkey使用Style来控制控件的显示方式。每个控件都有一个StyleLookup属性,FireMonkey就是通过控件的这个属性来在当前窗体的StyleBook控件中查找匹配的Style,如果找到了这个Style,那么控件就使用这个Style来显示。StyleBook是一个Style的集合,里面可以有窗体的Style,按钮的Style,文本框的Style,等等。每个Style其实就是一个控件,像常用到的TLayout,TRectangle等等,只是这个控件需要设置它的StyleName。比如我在StyleBook中设计这样一个按钮:l 阅读全文