Hola a todos los colegas del foro, el día de hoy les traigo un aporte que si bien no es de mucha relevancia y a nivel funcionalidad no afecta en nada tener siempre en inglés los botones del message dialog que proporciona Delphi;
para algunos otros colegas puede ser interesante optar por el cuadro de dialogo nativo de Android y así mismo tener en el idioma correspondiente tanto los titulos, el mensaje y el texto de los botones.
Para ello se hizo uso de JAlertDialog nativo, les dejo el código por aquí:
Código Delphi
[-]unit UMain;
interface
uses
{$IFDEF ANDROID}
Androidapi.JNI.Webkit, FMX.Dialogs.Android,
Androidapi.JNI.Print,
Androidapi.jni,fmx.helpers.android, Androidapi.Jni.app,
Androidapi.Jni.GraphicsContentViewText, Androidapi.JniBridge,
Androidapi.JNI.Os, Androidapi.Jni.Telephony,
Androidapi.JNI.JavaTypes,Androidapi.Helpers,
Androidapi.JNI.Widget,System.Permissions,
Androidapi.Jni.Provider,Androidapi.Jni.Net,
fmx.TextLayout,AndroidAPI.JNI.Support,
{$ENDIF}
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
FMX.Controls.Presentation, FMX.StdCtrls, FMX.DialogService;
type
TOnClickListener = class(TJavaLocal, JDialogInterface_OnClickListener)
public
constructor Create;
procedure onClick(dialog: JDialogInterface; which: Integer); cdecl;
end;
type
TfrmMain = class(TForm)
btnAlert_Dialog: TButton;
procedure btnAlert_DialogClick(Sender: TObject);
private
public
end;
var
frmMain: TfrmMain;
implementation
{$R *.fmx}
procedure TfrmMain.btnAlert_DialogClick(Sender: TObject);
var Dlg: JAlertDialog_Builder;
OnClickListener: TOnClickListener;
begin
OnClickListener:= TOnClickListener.Create;
Dlg:= TJAlertDialog_Builder.JavaClass.init(TAndroidHelper.Context);
Dlg.setTitle(StrToJCharSequence('Advertencia'));
Dlg.setMessage(StrToJCharSequence('¿Salir de la aplicación?'));
Dlg.setPositiveButton(StrToJCharSequence('SI'), OnClickListener);
Dlg.setNegativeButton(StrToJCharSequence('NO'), nil);
Dlg.show;
end;
constructor TOnClickListener.Create;
begin
inherited Create;
end;
procedure TOnClickListener.onClick(dialog: JDialogInterface; which: Integer);
begin
Application.Terminate;
end;
end.
Saludos cordiales.