delphi android Toast

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

修改后源码pas文件下载:http://www.colafile.com/file/2588729

 

{***************************************************************************}
{                                                                           }
{       功能: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.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值