LaurentC.
-
Постов
3 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные LaurentC.
-
-
Hello,
First of all congrats for this excellent component!
There is a little bug which occurs when creating TfgProgressDialog/TfgActivityDialog after using a MessageDlg, the progress dialog / activity dialog appears for a second then disappears.
here a sample of code:
if not m_obtMgr.IsBLEEnabled then
beginDoShowMessage(siLang1.GetText('RS_OperationAborted') + #13 + siLang1.GetText('RS_BluetoothDisabled'));
Exit;
end;
gDialogStatus := -1;
MessageDlg(siLang1.GetText('RS_FMWakeUpAllConfirm'), TMsgDlgType.mtConfirmation, [TMsgDlgBtn.mbYes, TMsgDlgBtn.mbNo], 0,
procedure (const AResult: TModalResult)
begincase AResult of
mrYes : gDialogStatus := 0;
else gDialogStatus := 1;
end;
end);
while (gDialogStatus < 0) do StartYield;
if gDialogStatus = 0 then
begingProgressDialog := TfgProgressDialog.Create(self);
gProgressDialog.Title := siLang1.GetText('RS_dialogWakeUpInProgress');
gProgressDialog.Message := siLang1.GetText('RS_DialogPleaseWait');
gProgressDialog.Theme := TfgDialogTheme.Dark;
gProgressDialog.Cancellable := True;
gProgressDialog.OnCancel := AdvCancelButtonClick;
gProgressDialog.Kind := TfgProgressDialogKind.Determinated;
gProgressDialog.ResetProgress;
gProgressDialog.Max := round(Duration/1000);
gProgressDialog.show;WkUpTimer.OnTimer := OnWkUpTimer;
WkUpTimer.Interval := 1000;
WkUpTimer.Enabled := true;while (gProgressDialog.Progress < gProgressDialog.Max) do
startYield;WkUpTimer.Enabled := false;
gProgressDialog.Hide;
ResetScan;
etc....
Using the latest Android theme for gProgressDialog/fgActivityDialog
в TfgProgressDialog
Опубликовано · Изменено пользователем LaurentC.
Hello,
There is anyway to use/set by default the latest android theme for progress dialog and activity dialog? It's using Android 2.0 theme!
To get the latest OS theme I had to change this function on FGX.ProgressDialog.Android.pas as follow:
(For your info, I'm using fgx_0.7.1.114)
procedure TAndroidNativeActivityDialog.RecreateNativeDialog;
var
ThemeID: Integer;
begin
if IsNativeDialogCreated then
FNativeDialog.setOnCancelListener(nil);
FNativeDialog := nil;
case Theme of
TfgDialogTheme.Auto:
ThemeID := GetNativeTheme(Owner);
TfgDialogTheme.Dark:
ThemeID := TJAlertDialog.JavaClass.THEME_DEVICE_DEFAULT_DARK;
//Was before: ThemeID := TJAlertDialog.JavaClass.THEME_DEFAULT_DARK;
TfgDialogTheme.Light:
ThemeID := TJAlertDialog.JavaClass.THEME_DEVICE_DEFAULT_LIGHT;
//Was before: ThemeID := TJAlertDialog.JavaClass.THEME_DEFAULT_LIGHT;
else
ThemeID := GetNativeTheme(Owner);
end;
CallInUIThreadAndWaitFinishing(procedure begin
FNativeDialog := TJProgressDialog.JavaClass.init(TAndroidHelper.Context, ThemeID);
end);
end;