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

S_007

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

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

  • Посещение

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

  1. На форме StrigGrid подключенный к файлу базы SQLite, в котором есть два столбца и несколько строк, подключен FDConnection, BindSourceDB, FDQuery. В виндовс работает с первого щелчка, а на телефоне нужно 3-5 раз тапнуть по ячейке чтоб она выделилась и перевелась в режим редактирования. Подскажите пожалуйста из-за чего так происходит? Что нужно учесть чтоб не было таких тормозов? Delphi 10.2, тестировал на телефоне с Android 4.2

  2. Akad спасибо за ответ

    получилось так, может кому пригодится... Delphi 10.2

    В опциях проекта - Uses permissions - включить  WRITE SETTINGS

     

    unit Unit1;
    
    interface
    
    uses
      System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
      FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
      FMX.Helpers.Android,
      Androidapi.Helpers,
      Androidapi.JNI.Provider,
      Androidapi.JNI.App,
      Androidapi.JNI.GraphicsContentViewText, FMX.Controls.Presentation,
      FMX.StdCtrls;
    
    type
      TForm1 = class(TForm)
        Button_Plus: TButton;
        Button_Minus: TButton;
        Label1: TLabel;
        procedure Button_MinusClick(Sender: TObject);
        procedure BrightnesSet;
        procedure Button_PlusClick(Sender: TObject);
        procedure FormCreate(Sender: TObject);
    
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
      brightness:integer;
    
    implementation
    
    {$R *.fmx}
    
    procedure TForm1.BrightnesSet;
    var
      Resolver: JContentResolver;
      AttainedBrightness: Single;
      LayoutParams: JWindowManager_LayoutParams;
      Window: JWindow;
    begin
    
        label1.Text := inttostr(brightness);
    
        Resolver := TAndroidHelper.ContentResolver;
    
        //Отключаем автоматический режим
        TJSettings_System.JavaClass.putInt(Resolver,TJSettings_System.JavaClass.SCREEN_BRIGHTNESS_MODE,TJSettings_System.JavaClass.SCREEN_BRIGHTNESS_MODE_MANUAL);
        //Устанавливаем нужную яркость
        TJSettings_System.JavaClass.putInt(Resolver,TJSettings_System.JavaClass.SCREEN_BRIGHTNESS,brightness);
        try
            AttainedBrightness := TJSettings_System.JavaClass.getInt(Resolver,TJSettings_System.JavaClass.SCREEN_BRIGHTNESS);
            CallInUIThread(
            procedure
            begin
                Window := TAndroidHelper.Activity.getWindow;
                LayoutParams := Window.getAttributes;
                LayoutParams.screenBrightness := AttainedBrightness / 255;
                Window.setAttributes(LayoutParams);
            end);
        except
    
        end;
    
    end;
    
    procedure TForm1.Button_MinusClick(Sender: TObject);
    begin
         if brightness > 20 then
         begin
            brightness := brightness - 5;
            BrightnesSet;
         end;
    end;
    
    
    procedure TForm1.Button_PlusClick(Sender: TObject);
    begin
        if brightness < 255 then
        begin
            brightness := brightness + 5;
            BrightnesSet;
        end;
    end;
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
         brightness := 20;
    end;
    
    end.

     

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