盒子资源分类
移动开发交互手势FireMonkey应用实例APP
关键字:移动开发交互手势FireMonkey应用实例APP
来 自:原创
平 台:Win2K/2003/NT/XP,WIN8
下载所需:0 火柴
深浅度:中级
完成时间:2020/9/11
发布者:chn1009 (奖励50火柴 )
发布时间:2020/9/17
编辑器:DelphiXE2
语 种:简体中文
分 类:多媒体
下载浏览:266/13239
交互手势FireMonkey应用实例 单位 唐山市开滦一中 作者 董艳凤 使用说明:手机APP安装后,在枫叶处,手指右划或者是下划 出现歌曲,字的颜色改变。 包含着apk文件,在Android手机上安装APP直接使用 现在移动设备中手势是主要使用方式,手指类似鼠标光标(对于Windows和Mac OS X)使用。手势可以由一个控制的父母操纵包括层次结构和第一个处理手势等问题...。下面是具体一些说明 1手势平台 Android 或者Mac OS 2如何使用手势 2.1启用标准手势 2.2实现OnGesture事件处理程序 2.3启用交互手势FireMonkey和VCL中支持的关键手势的区别 标准动作:标准手势(向上、向下、三角形等)等同于Windows上的应用程序手势,也等同于Mac OS X和iOS上的多点触摸序列。在Windows上,标准手势是用一根手指,在Mac OS X上是用两根手指。手势完成后(用户抬起手指),OnGesture项目被触发(如果一个标准手势被识别)。交互手势:交互手Mac OS X、iOS和Android上的手势。每次手指在触控表面上移动时,就会触发一个OnGesture项目。FireMonkey使用了上、下、左、右四种标准手势,相当于交互式滑动手势(在Mac OS X、iOS、Android和Windows 8上)。手势的平台势是多点触摸手势(缩放、旋转等),相当于Windows上的系统手势,也相当于本主题描述桌面和移动平台的手势:所有桌面平台都支持手势。对于Windows触摸屏,即使手指离开屏幕,超出了预期控制的范围,手势仍然会被发送到该控制。所有的移动平台都支持交互手势。参见启用交互式手势。为了能够使用手势,控件必须有触控属性。下面的一个实例,大家可下载参考。 unit U1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, System.Math.Vectors, FMX.MaterialSources, FMX.Controls3D, FMX.Objects3D, FMX.Viewport3D, FMX.Objects, FMX.Controls.Presentation, FMX.StdCtrls, FMX.Media, FMX.ScrollBox, FMX.Memo, FMX.Gestures; type TForm1 = class(TForm) Text1: TText; Viewport3D1: TViewport3D; Rectangle3D1: TRectangle3D; TextureMaterialSource1: TTextureMaterialSource; TextureMaterialSource2: TTextureMaterialSource; TextureMaterialSource3: TTextureMaterialSource; Timer1: TTimer; Label1: TLabel; MediaPlayer1: TMediaPlayer; Button1: TButton; Button2: TButton; Button3: TButton; Label2: TLabel; GestureManager1: TGestureManager; Image1: TImage; procedure Timer1Timer(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Viewport3D1Gesture(Sender: TObject; const [Ref] EventInfo: TGestureEventInfo; var Handled: Boolean); private { Private declarations } public { Public declarations } end; var Form1: TForm1; ii:integer; implementation uses IOUtils; {$R *.fmx} {$R *.LgXhdpiPh.fmx ANDROID} procedure TForm1.Button1Click(Sender: TObject); begin MediaPlayer1.FileName := TPath.GetDocumentsPath + PathDelim + 'wangshuiqian.mp3'; MediaPlayer1.Play; end; procedure TForm1.Button2Click(Sender: TObject); begin MediaPlayer1.Stop; end; procedure TForm1.Button3Click(Sender: TObject); begin application.Terminate; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Rectangle3D1.RotationAngle.Y :=random(1000); Rectangle3D1.RotationAngle.X :=random(1000); Rectangle3D1.RotationAngle.Z :=random(1000); ii:=ii+1; image1.Bitmap:=image1.MultiResBitmap[random(3)].Bitmap ; label2.Position.Y:=label2.Position.Y-ii; if label2.Position.Y<-410 then label2.Position.Y:=600; end; procedure TForm1.Viewport3D1Gesture(Sender: TObject; const [Ref] EventInfo: TGestureEventInfo; var Handled: Boolean); var S: string; begin if GestureToIdent(EventInfo.GestureID, S) then begin label1.TextSettings.FontColor:= TAlphaColorRec.yellow; MediaPlayer1.FileName := TPath.GetDocumentsPath + PathDelim + 'wangshuiqian.mp3'; MediaPlayer1.Play; Handled := True; end; end; end.
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们 !
相关文章
相关评论