方法一支持。

方法二与方法三都是三方单元,功能相同。

方法4与方法5报错,提示平台不支持。

第三方单元一:

 unit Android.JNI.Toast;

 // Java bridge class imported by hand by Brian Long (http://blong.com)
interface {$IFDEF ANDROID} uses
Androidapi.Helpers,
Androidapi.JNIBridge,
Androidapi.JNI.JavaTypes,
Androidapi.JNI.GraphicsContentViewText;
{$ENDIF}
{$IFDEF ANDROID} type
TToastLength = (LongToast, ShortToast); JToast = interface; JToastClass = interface(JObjectClass)
['{69E2D233-B9D3-4F3E-B882-474C8E1D50E9}']
{ Property methods }
function _GetLENGTH_LONG: Integer; cdecl;
function _GetLENGTH_SHORT: Integer; cdecl;
{ Methods }
function init(context: JContext): JToast; cdecl; overload;
function makeText(context: JContext; text: JCharSequence; duration: Integer)
: JToast; cdecl;
{ Properties }
property LENGTH_LONG: Integer read _GetLENGTH_LONG;
property LENGTH_SHORT: Integer read _GetLENGTH_SHORT;
end; [JavaSignature('android/widget/Toast')]
JToast = interface(JObject)
['{FD81CC32-BFBC-4838-8893-9DD01DE47B00}']
{ Methods }
procedure cancel; cdecl;
function getDuration: Integer; cdecl;
function getGravity: Integer; cdecl;
function getHorizontalMargin: Single; cdecl;
function getVerticalMargin: Single; cdecl;
function getView: JView; cdecl;
function getXOffset: Integer; cdecl;
function getYOffset: Integer; cdecl;
procedure setDuration(value: Integer); cdecl;
procedure setGravity(gravity, xOffset, yOffset: Integer); cdecl;
procedure setMargin(horizontalMargin, verticalMargin: Single); cdecl;
procedure setText(s: JCharSequence); cdecl;
procedure setView(view: JView); cdecl;
procedure show; cdecl;
end; TJToast = class(TJavaGenericImport<JToastClass, JToast>)
end; procedure Toast(const Msg: string; duration: TToastLength = ShortToast); {$ENDIF} implementation {$IFDEF ANDROID} uses
FMX.Helpers.Android; procedure Toast(const Msg: string; duration: TToastLength);
var
ToastLength: Integer;
begin
if duration = ShortToast then
ToastLength := TJToast.JavaClass.LENGTH_SHORT
else
ToastLength := TJToast.JavaClass.LENGTH_LONG;
CallInUiThread(
procedure
begin
TJToast.JavaClass.makeText(SharedActivityContext, StrToJCharSequence(Msg),
ToastLength).show
end);
end;
{$ENDIF} end.

第三方单元二:

 {***************************************************************************}
{ }
{ 功能:Android Toast提示消息框 }
{ 名称:Androidapi.JNI.Widget.Toast.pas }
{ 版本:1.0 }
{ 环境:Win7 Sp1 64bit }
{ 工具:Delphi XE7 }
{ 日期:2014-11-23 19:45:35 }
{ 用法:TToast.Show(MessageText, isLongHint) }
{--------------------------------------------------------------------------}
{ 原版作者:ying32 }
{ QQ:396506155 }
{ MSN :ying_32@live.cn }
{ E-mail:yuanfen3287@vip.qq.com }
{ Website:http://blog.csdn.net/zyjying520/article/details/26158941 }
{ 版权所有 (C) 2013-2013 ying32.tk All Rights Reserved }
{---------------------------------------------------------------------------}
{ 修改者:tht2009 }
{ 改动:1、去掉注释掉的方法 }
{ 2、移动FMX.Helpers.Android引用声明到实现区 }
{ 3、增加Androidapi.Helpers引用 }
{ }
{***************************************************************************} unit Androidapi.JNI.Widget.Toast; interface uses
Androidapi.JNIBridge,
Androidapi.JNI.JavaTypes,
Androidapi.JNI.GraphicsContentViewText; type
JToast = interface;//android.widget.Toast JToastClass = interface(JObjectClass)
['{CF455B66-683D-41F9-B386-0C49E42D4F92}']
{Property Methods}
function _GetLENGTH_LONG: Integer;
function _GetLENGTH_SHORT : Integer;
{Methods}
// public Toast (Context context)
function init(context: JContext): JToast; cdecl;
// public static Toast makeText (Context context, int resId, int duration)
function makeText(context: JContext; resId: Integer; duration: Integer): JToast;cdecl;overload;
// public static Toast makeText (Context context, CharSequence text, int duration)
function makeText(context: JContext; text: JCharSequence; duration: Integer): JToast;cdecl;overload;
{Properties}
property LENGTH_LONG: Integer read _GetLENGTH_LONG;
property LENGTH_SHORT: Integer read _GetLENGTH_SHORT;
end; [JavaSignature('android/widget/Toast')]
JToast = interface(JObject)
['{4A284317-000C-4048-8674-C475F505CFAF}']
{Methods}
// public void cancel ()
procedure cancel;cdecl;
// public int getDuration ()
function getDuration: Integer; cdecl;
// public int getGravity ()
function getGravity: Integer; cdecl;
// public float getHorizontalMargin ()
function getHorizontalMargin: Single; cdecl;
// public float getVerticalMargin ()
function getVerticalMargin: Single; cdecl;
// public View getView ()
function getView: JView; cdecl;
// public int getXOffset ()
function getXOffset: Integer; cdecl;
// public int getYOffset ()
function getYOffset: Integer; cdecl;
// public void setDuration (int duration)
procedure setDuration(duration: Integer); cdecl;
// public void setGravity (int gravity, int xOffset, int yOffset)
procedure setGravity(gravity, xOffset, yOffset: Integer);cdecl;
// public void setMargin (float horizontalMargin, float verticalMargin)
procedure setMargin(horizontalMargin, verticalMargin: Single);cdecl;
// public void setText (int resId)
procedure setText(resId: Integer);cdecl;overload;
// public void setText (CharSequence s)
procedure setText(s: JCharSequence);cdecl;overload;
// public void setView (View view)
procedure setView(view: JView);cdecl;
// public void show ()
procedure show;cdecl;
end; TJToast = class(TJavaGenericImport<JToastClass, JToast>) end; { TToast }
TToast = class
public
class procedure Show(const text: string; LongHint: Boolean = False);
end; implementation uses FMX.Helpers.Android, Androidapi.Helpers; { TToast } class procedure TToast.Show(const text: string; LongHint: Boolean);
var
LDuration: Integer;
begin
CallInUIThread
(
procedure
begin
case LongHint of
True : LDuration := TJToast.JavaClass.LENGTH_LONG;
False : LDuration := TJToast.JavaClass.LENGTH_SHORT;
end;
TJToast.JavaClass.makeText(SharedActivityContext, StrToJCharSequence(text), LDuration).show;
end
);
end; end.

应用单元:

 unit Unit1;

 interface

 uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
FMX.Controls.Presentation, FMX.StdCtrls; type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation uses
Android.JNI.Toast, Androidapi.JNI.Widget.Toast;
{$R *.fmx}
{$R *.NmXhdpiPh.fmx ANDROID} procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('与原来的一样哦!'); //消息提示方法一
end; procedure TForm1.Button2Click(Sender: TObject);
begin
Toast('消息提示方法二', LongToast);
end; procedure TForm1.Button3Click(Sender: TObject);
begin
Toast('消息提示方法二', ShortToast);
end; procedure TForm1.Button4Click(Sender: TObject);
begin
TToast.Show('消息提示方法3。', False);
end; procedure TForm1.Button5Click(Sender: TObject);
begin
TToast.Show('消息提示方法3。', True);
end; procedure TForm1.Button6Click(Sender: TObject);
begin
if MessageDlg('你喜欢我吗?', TMsgDlgType.mtConfirmation,
[TMsgDlgBtn.mbYes, TMsgDlgBtn.mbNo], -) = mrYes then
begin end;
end; procedure TForm1.Button7Click(Sender: TObject);
var
msresult: string;
begin
msresult := FMX.Dialogs.InputBox('询问', '你多大了?', '我 10 岁了。');
ShowMessage('你输入的是:' + msresult);
end; end.

Android实例-消息框(XE8+小米2)的更多相关文章

  1. Android实例-操作摄像头(XE8+小米2)

    结果: 1.同样是照相,自己的程序设置为高质量时刷新慢,而小米手机的相机那真心反映快呀. 2.就算我设置为最高质量,可相片也没有小米手机的相片大.我最大是2000*1000,而小米可以做到3000*2 ...

  2. Android实例-手机震动(XE8+小米2)

    相关资料:http://blog.csdn.net/laorenshen/article/details/41148843 结果: 1.打开Vibrate权限为True. 2.规律震动我没感觉出来,有 ...

  3. Android实例-LocationSensor位置传感器(XE8+小米2)

    结果: 1.启动后有时会闪退,后来重新做的工程就好了.原因不明(可能与地理反码有关). 2.原文是用的GOOGLE地图显示位置,但在咱们这里好像不行,改为百度,但百度用的是HTML文件.太麻烦了,大家 ...

  4. Android实例-MotionSensor加速度(XE8+小米2)

    结果: 1. 实例代码: unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classe ...

  5. Android实例-设置消息提醒(XE8+小米2)

    相关资料: 1.官网实例:http://docwiki.embarcadero.com/RADStudio/XE5/en/Mobile_Tutorial:_Using_the_Notification ...

  6. Android实例-实现扫描二维码并生成二维码(XE8+小米5)

    相关资料: 第三方资料太大没法写在博文上,请下载CSDN的程序包. 程序包下载: http://download.csdn.net/detail/zhujianqiangqq/9657186 注意事项 ...

  7. Android实例-调用GOOGLE的TTS实现文字转语音(XE7+小米2)(无图)

    注意:在手机上必须选安装文字转语音引擎“google Text To Speech”地址:http://www.shouji56.com/soft/GoogleWenZiZhuanYuYinYinQi ...

  8. Android实例-调用GOOGLE的TTS实现文字转语音(XE7+小米2)(XE10.1+小米5)

    相关资料: 注意:在手机上必须选安装文字转语音引擎“google Text To Speech”地址:http://www.shouji56.com/soft/GoogleWenZiZhuanYuYi ...

  9. 【C#】分享一个可携带附加消息的增强消息框MessageBoxEx

    --------------201507160917更新--------------- 无意中发现标准消息框在Windows7是有声音的,只是在Windows server 2008(R2)无声,而我 ...

随机推荐

  1. 【零基础学习iOS开发】【02-C语言】10-函数

    前面已经讲完了C语言中的基本语句和基本运算了,这讲呢,介绍C语言中的重头戏---函数.其实函数这个概念,在大部分高级语言中都是非常重要的,我也已经在<第一个C语言程序>一讲中对函数作了一个 ...

  2. javaweb学习总结(四十六)——Filter(过滤器)常见应用

    一.统一全站字符编码 通过配置参数charset指明使用何种字符编码,以处理Html Form请求参数的中文问题 1 package me.gacl.web.filter; 2 3 import ja ...

  3. Delphi函数翻译成VC要注意句柄指针传递(传递Handle的时候,必须加上一个指针引用,才能消除编译错误)

    Delphi里做了魔法变化,每个变量名称本身就是指针,因为不怎么需要指针语法.我也不知道是不是因为这个原因引起的Delphi与VC对句柄的不同处理. 这是Delphi的强行关机函数,好用,调用方式:W ...

  4. vimrc for windows

    set nobackupsource $VIMRUNTIME/vimrc_example.vimsource $VIMRUNTIME/mswin.vimbehave mswin:color deser ...

  5. 8款替代Dreamweaver的开源网页开发工具

    Adobe Dreamweaver虽然非常好用,但它并不是唯一一个能够设计.开发.发布精彩网站的Web开发集成环境.我们的开源世界里有很多非常棒的可以完全替代Dreamweaver的各种功能的优秀We ...

  6. 数据备份--dump

    数据中 心操作大量的数据.当遭到破坏时,这就是一场灾难.这时候需要备份来恢复,及时你又大量的备份数据都没用,备份也肯定不是在浪费时间.你也许很幸运从 来没有经历过数据丢失.但是, 由于这种事情极少发生 ...

  7. 反汇编(Disassembler) iPhone

    什么是反汇编? 反汇编就是把可执行的二进制文件转为汇编代码,进而可以研究该程序.IDA Pro Adv v5.2 版本起已直接支援 iPhone ARM 代码的静态反汇编分析.IDA Pro Adv ...

  8. C#中配置文件的使用

    1. 向项目添加app.config文件: 右击项目名称,选择“添加”→“添加新建项”,在出现的“添加新项”对话框中,选择“添加应用程序配置文件”:如果项目以前没有配置文件,则默认的文件名称为“app ...

  9. 获取html上元素的真正坐标

    使用HTML元素的style.left,style.top,style.width,style.height以及width,height属性,都不能获得元素的真正位置与大小,这些属性取出来的都是原来的 ...

  10. 1682. Crazy Professor(并查集)

    1628 加了些数论知识  先看下剩余类的概念 一个整数被正整数n除后,余数有n种情形:0,1,2,3,…,n-1,它们彼此对模n不同余.这表明,每个整数恰与这n个整数中某一个对模n同余.这样一来,按 ...