delphi android Toast

来源:互联网 发布:计算机培训班价格java 编辑:程序博客网 时间:2024/05/29 13:23

原始代码转自:http://blog.csdn.net/zyjying520/article/details/26158941

{***************************************************************************}{                                                                           }{       功能: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;interfaceuses  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;implementationuses 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.


0 0