转: u_Toast

unit u_Toast;

interface

utilise
System.SysUtils, System.Types, System.Classes, FMX.Graphics, FMX.Surfaces
{$ IFDEF ANDROID}
, FMX.Helpers.Android, Androidapi.JNI.app, Androidapi.JNIBridge,
Androidapi.JNI.JavaTypes, Androidapi. Helpers, Androidapi.JNI.Widget,
Androidapi.JNI.GraphicsContentViewText
{$ ENDIF}
;

type
/// <summary>
/// Toast display time
/// </ summary>
TToastLength = record
const
ShortToast = 0;
LongToast = 1;
end;

/// <summary>
/// Toast 显示 位置
/// </summary>
TGravity = record
const
AXIS_CLIP = 8;
AXIS_PULL_AFTER = 4;
AXIS_PULL_BEFORE = 2;
AXIS_SPECIFIED = 1;
AXIS_X_SHIFT = 0;
AXIS_Y_SHIFT = 4;
BAS = 80;
CENTRE = 17;
CENTER_HORIZONTAL = 1;
CENTER_VERTICAL = 16;
CLIP_HORIZONTAL = 8;
CLIP_VERTICAL = 128;
DISPLAY_CLIP_HORIZONTAL = 16777216;
DISPLAY_CLIP_VERTICAL = 268435456;
& END = 8388613;
REMPLIR = 119;
FILL_HORIZONTAL = 7;
FILL_VERTICAL = 112;
HORIZONTAL_GRAVITY_MASK = 7;
GAUCHE = 3;
NO_GRAVITY = 0;
RELATIVE_HORIZONTAL_GRAVITY_MASK = 8388615;
RELATIVE_LAYOUT_DIRECTION = 8388608;
DROIT = 5;
START = 8388611;
TOP = 48;
VERTICAL_GRAVITY_MASK = 112;
fin;

/// <summary>
/// Afficher le toast natif Android
/// </ summary>
/// <param name = "msg"> Ce qui doit être affiché </ param>
/// <param name = "duration"> Afficher la durée </ param> durée
Toast (const msg: string;
duration: Integer = TToastLength.ShortToast); surcharge;

/// <summary>
/// Afficher le toast natif Android
/// </ summary>
/// <param name = "msg"> Ce qui doit être affiché </ param>
/// <param name = "duration"> Afficher la durée </ param>
/// <param name = "gravity"> position affichée </ param>
/// <param name = "xOffset, yOffset">
procédure de définition des coordonnées </ param> Toast (const msg: chaîne; durée: entier; gravité: entier;
xOffset: entier; yOffset: entier); surcharge;
/// <summary>
/// Afficher le toast natif Android avec des images
/// </ summary>
/// <nom du paramètre = "msg"> Ce qui doit être affiché </ param>
/// <param name = "duration"> durée d'affichage </ param>
/// <param name = "gravity"> emplacement affiché </ param>
/ // <param name = "xOffset, yOffset"> Paramètres de coordonnées </ param>
/// <param name = "vBitmap"> Image à afficher </ param>
procédure Toast (const msg: string; duration: Integer; gravity: Integer;
xOffset: Integer; yOffset: Integer; vBitmap: TBitmap); surcharge;

la mise en oeuvre

{$ IFDEF ANDROID},
fonction BitmapToJBitmap (Bmp: TBitmap): JBitmap;
var
mBitmap: JBitmap;
Surface: TBitmapSurface;
commencer
Surface: = TBitmapSurface.Create;
Surface.Assign (Bmp);
mBitmap: = TJBitmap.JavaClass.createBitmap (Bmp.Width, Bmp.Height,
TJBitmap_Config.JavaClass.ARGB_8888);
si SurfaceToJBitmap (Surface, mBitmap) alors
Résultat: = mBitmap;
fin;
{$ ENDIF}

procédure Toast (const msg: string; duration: Integer = TToastLength.ShortToast);
begin
{$ IFDEF ANDROID}
CallInUiThread (
procédure
begin
TJToast.JavaClass.makeText (TAndroidHelper.Activity,
StrToJCharSequence (msg), duration) .show;
end);
{$ ENDIF}
end;

procedure Toast (const msg: string; duration: Integer; gravity: Integer;
xOffset: Integer; yOffset: Integer);
commencer
Toast (msg, durée, gravité, xOffset, yOffset, nil);
fin;

procédure Toast (const msg: string; duration: Integer; gravity: Integer;
xOffset: Integer; yOffset: Integer; vBitmap: TBitmap);
commencer
{$ IFDEF ANDROID}
CallInUiThread (
procédure
var
vToast: JToast;
vImageView: JImageView;
vLinearLayout: JLinearLayout,
commencer
vToast: = TJToast.JavaClass.makeText (TAndroidHelper.Activity,
StrToJCharSequence (msg), durée);
vToast.setGravity (gravité, xOffset, yOffset);
si Assigné (vBitmap)
commence alors
// 创建 图片
显示 vImageView: = TjImageView.JavaClass.init (TAndroidHelper.Context);
vImageView.setImageBitmap (BitmapToJBitmap (vBitmap));
vLinearLayout: = TJLinearLayout.Wrap (vToast.getView);
vLinearLayout.addView (vImageView, 0);
fin;
vToast.show;
fin);
{$ ENDIF}
end;

end.
————————————————
Déclaration de droit d'auteur: Cet article est un article original du blogueur CSDN "tanqth", suite à l'accord de copyright CC 4.0 BY-SA, veuillez joindre le lien source d'origine et réimprimer Cette déclaration.
Lien d'origine: https://blog.csdn.net/tanqth/java/article/details/104728239

Je suppose que tu aimes

Origine www.cnblogs.com/timba1322/p/12681493.html
conseillé
Classement