2013-09-23 34 views

回答

5

我知道你已經知道......但是對於其他人......以防萬一。

您需要安裝的組件,將其添加到您要顯示toastmessages並調用形式...

componentname.now('Your toastmessage string'); 

不要忘了加上單位FMX.Androidlike.Toast,如果你想使用基於組件的方法。 該組件可以在外觀上進行相當多的配置(也顯示消息顯示的持續時間)。

如果你想使用Brians單元的JNI方法使用Android.JNI.Toast並調用程序

toast('Your toastmessage string', youroptionaltoastduration); 

你可以找到的成分,現在還鏈接到一個截屏上

https://www.cybertribe.de/info/components/fmx/toast/

3

實際上有一個更簡單的方法來做到這一點:創建自己的烤麪包單元。

unit toast_unit; 

interface 

uses 
    System.SysUtils, System.Types, System.UITypes, System.Classes, 
    System.Variants, FMX.Types, FMX.Controls, FMX.Forms, 
    FMX.Graphics, FMX.Dialogs, FMX.StdCtrls, 
    FMX.Controls.Presentation; 

type 
    TToastLength = (LongToast, ShortToast); 

type 
    TForm1 = class(TForm) 
    Button1: TButton; 
    procedure Button1Click(Sender: TObject); 
    private 
    { Private declarations } 
    public 
    { Public declarations } 
    end; 

var 
    Form1: TForm1; 

implementation 

{$IFDEF ANDROID} 

uses 
    Android.JNI.Toast, 
    Androidapi.Helpers, 
    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} 


{$R *.fmx} 

procedure TForm1.Button1Click(Sender: TObject); 
begin 
    {$IFDEF ANDROID} 
    Toast ('aha', LongToast); 
    {$ENDIF} 
end; 

end.