Перейти к содержанию
Fire Monkey от А до Я

LaurentC.

Пользователи
  • Постов

    3
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные LaurentC.

  1. 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;

  2. 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
        begin

          DoShowMessage(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)
        begin

          case AResult of

            mrYes : gDialogStatus := 0;

            else gDialogStatus := 1;

          end;

        end);

        while (gDialogStatus < 0) do StartYield;

        if gDialogStatus = 0 then
        begin

         

    gProgressDialog := 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....
     

×
×
  • Создать...