如何在Delphi XE5中使用Android的toast
?如何在Delphi Firemonkey中使用烤麪包?
我試過使用庫FMX.AndroidLike.Toast
,但系統在執行過程中在Toast
出現之前關閉。
如何在Delphi XE5中使用Android的toast
?如何在Delphi Firemonkey中使用烤麪包?
我試過使用庫FMX.AndroidLike.Toast
,但系統在執行過程中在Toast
出現之前關閉。
我知道你已經知道......但是對於其他人......以防萬一。
您需要安裝的組件,將其添加到您要顯示toastmessages並調用形式...
componentname.now('Your toastmessage string');
不要忘了加上單位FMX.Androidlike.Toast,如果你想使用基於組件的方法。 該組件可以在外觀上進行相當多的配置(也顯示消息顯示的持續時間)。
如果你想使用Brians單元的JNI方法使用Android.JNI.Toast並調用程序
toast('Your toastmessage string', youroptionaltoastduration);
你可以找到的成分,現在還鏈接到一個截屏上
實際上有一個更簡單的方法來做到這一點:創建自己的烤麪包單元。
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.