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

OnePeople

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

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

  • Посещение

  • Победитель дней

    55

Активность репутации

  1. Like
    OnePeople отреагировална Slym в Скорость анимации сцены с большим количеством деталей   
    о... да мы меряемся?
    на 1000: 250-333fps 
    как тебе такое Sulion 10000...

    fps3.zip
  2. Like
    OnePeople получил реакцию от delcpy в bluetooth что не так   
    Может их нет, новых, а есть устройства которые уже подключались ранее Bluetooth.GetPairedDevices;
    FPairedDevices := Bluetooth.GetPairedDevices; if FPairedDevices.Count > 0 then for I:= 0 to FPairedDevices.Count - 1 do ListBox.Items.Add(FPairedDevices[I].DeviceName) Ну и если Android API >= 31
         if TJBuild_VERSION.JavaClass.SDK_INT >= 31  then         begin            FPermissionBTConnectSettings := JStringToString(TJManifest_permission.JavaClass.BLUETOOTH_CONNECT);            FPermissionBTScanSettings := JStringToString(TJManifest_permission.JavaClass.BLUETOOTH_SCAN);            FPermissionBTAdvertiseSettings := JStringToString(TJManifest_permission.JavaClass.BLUETOOTH_ADVERTISE);            PermissionsService.RequestPermissions([FPermissionBTConnectSettings] +                                                  [FPermissionBTScanSettings] +                                                  [FPermissionBTAdvertiseSettings], nil);         end;
  3. Thanks
    OnePeople получил реакцию от munhauz в миграция на 11.3   
    Все проще Target - Android - Libraries -Revert System Files to Default
  4. Thanks
    OnePeople получил реакцию от antigrav в ProgressBar и потоки   
    Вам уже ответили, но можете конечно сделать так в главном потоке
    procedure Test; const n = 200; var I: Integer; begin pb1.Min := 0; pb1.Max := n - 1; for I := 0 to n - 1 do begin pb1.Value := I; sleep(10); Application.ProcessMessages; end; end;  
  5. Like
    OnePeople получил реакцию от Sergey S в Создание Dockable формы   
    Посмотрите это видео
  6. Like
    OnePeople получил реакцию от Sergey S в Создание Dockable формы   
    Написал за 5 минут для примера как можно
    Новая папка.rar
  7. Like
    OnePeople получил реакцию от Sergey S в Создание Dockable формы   
    Ну я судил поэтому 
    Если нет, то тут только как написали вы, делать все самому, хотя я думаю накрутить и в TabControl можно красивостей)
  8. Like
    OnePeople получил реакцию от S0lexV в Не корректно работает поиск файлов   
    Ищите
    android:requestLegacyExternalStorage
  9. Thanks
    OnePeople получил реакцию от Аскар в миграция на 11.3   
    Все проще Target - Android - Libraries -Revert System Files to Default
  10. Like
    OnePeople получил реакцию от AngryOwl в Рисование на неклиентской часть окна   
    Или просто сделайте borderstyle формы none. И сами сделайте рамки, кнопки закрыть, свернуть и т.д.
  11. Thanks
    OnePeople получил реакцию от Martifan в Рисование на неклиентской часть окна   
    Или просто сделайте borderstyle формы none. И сами сделайте рамки, кнопки закрыть, свернуть и т.д.
  12. Like
    OnePeople отреагировална Martifan в splash_image_def rad 11.3   
    К сожалению, вы не можете использовать прямые значения цвета в теге android:drawable. Этот атрибут предназначен для ссылок на ресурсы, а не для прямых значений цвета.
    Однако вы можете определить свой собственный цвет в ресурсах вашего приложения и ссылаться на него. Для этого выполните следующие шаги:
    1. Откройте файл res/values/colors.xml в вашем проекте. Если этот файл не существует, создайте его.
    2. В файле colors.xml определите свой собственный цвет, как показано ниже:
    <?xml version="1.0" encoding="utf-8"?> <resources> <color name="my_custom_color">#0066cc</color> </resources> Теперь вы можете использовать свой пользовательский цвет в файле splash_image_def:
     
    <item android:drawable="@color/my_custom_color" /> учтите, что названия ресурсов не должны начинаться с цифры и не должны содержать символов, кроме букв (a-z), цифр (0-9) и подчеркивания (_).
    Ваш код может выглядеть следующим образом:
     
    <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/my_custom_color" /> <item> <bitmap android:gravity="center" android:src="@mipmap/ic_launcher" /> </item> </layer-list>  
  13. Like
    OnePeople получил реакцию от krapotkin в Съезжают размеры и положение контролов в Андроиде, в винде всё нормально.   
    У меня 11, и без него размер editа зависит от размера шрифта и ни какими свойствами не правиться
  14. Thanks
    OnePeople получил реакцию от Martifan в Компиляция приложения android   
    Нигде в деплоймент не указана внешняя память ???????
    Вообще то requestLegacyExternalStorage это параметр у вас в AndroidManifest.xml
  15. Thanks
    OnePeople получил реакцию от Martifan в Компиляция приложения android   
    Ну у вас в настройках sdk API-Level location версии 26, а был наверное 29 и выше вот ошибки и небыло
  16. Haha
    OnePeople получил реакцию от Martifan в Анимация модального окна   
    Не по теме, но у оператора от таких цветов в конце дня нет желания кого-нибудь убить? 
  17. Haha
    OnePeople получил реакцию от Vladimir Gaivoronsky в Анимация модального окна   
    Не по теме, но у оператора от таких цветов в конце дня нет желания кого-нибудь убить? 
  18. Like
    OnePeople получил реакцию от Kitty в Отправка файлов через намерение   
    Intent selectorIntent = new Intent(Intent.ACTION_SENDTO);
    selectorIntent.setData(Uri.parse("mailto:"));
    final Intent emailIntent = new Intent(Intent.ACTION_SEND);
    emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"address@mail.com"});
    emailIntent.putExtra(Intent.EXTRA_SUBJECT, "The subject");
    emailIntent.putExtra(Intent.EXTRA_TEXT, "The email body");
    emailIntent.setSelector( selectorIntent );
     
    activity.startActivity(Intent.createChooser(emailIntent, "Send email..."));
  19. Like
    OnePeople получил реакцию от Андрей Быковский в Количество строк в Memo (Android)   
    Ну так количество строк то не меняется, меняется отображение этих строк. Код не мой
     
    function MeasureTextHeight(const AFont: TFont; const AText: string): Single; var LLayout: TTextLayout; begin LLayout := TTextLayoutManager.DefaultTextLayout.Create; try LLayout.BeginUpdate; try LLayout.WordWrap := False; LLayout.Font.Assign(AFont); LLayout.Text := AText; finally LLayout.EndUpdate; end; Result := LLayout.TextHeight; finally LLayout.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); var LTextHeight: Single; LLines: Integer; begin LTextHeight := MeasureTextHeight(Memo1.TextSettings.Font, Memo1.Text); LLines := Round(Memo1.ContentBounds.Height / LTextHeight); end;
  20. Like
    OnePeople получил реакцию от alex25ru в Как объявить свое приложение "приложением камерой"?   
    Да, только это
    <action android:name="android.media.action.IMAGE_CAPTURE" /> , остальное там есть
  21. Thanks
    OnePeople получил реакцию от Ingalime в [Android]Undeclared identifier   
    https://github.com/Embarcadero/RADStudio11Demos/blob/main/Object Pascal/Multi-Device Samples/Device Sensors and Services/Foreground Location Tracking
  22. Like
    OnePeople получил реакцию от Semitako в [Android]Входящий звонок   
    if TJBuild_VERSION.JavaClass.SDK_INT >= 26 then begin playbackAttributes := TJAudioAttributes_Builder.Create .setUsage(TJAudioAttributes.JavaClass.USAGE_MEDIA) .setContentType(TJAudioAttributes.JavaClass.CONTENT_TYPE_MUSIC) .build(); AudioFocusRequest:=TJAudioFocusRequest_Builder(TJAudioManager.JavaClass.AUDIOFOCUS_GAIN).Create .setAudioAttributes(playbackAttributes) .setAcceptsDelayedFocusGain(true) .setOnAudioFocusChangeListener(afChangeListener, afHandler) .build(); res := FAudioManager.requestAudioFocus(AudioFocusRequest); end else begin res := FAudioManager.requestAudioFocus(afChangeListener, TJAudioManager.JavaClass.STREAM_MUSIC, TJAudioManager.JavaClass.AUDIOFOCUS_GAIN); end;  
  23. Like
    OnePeople получил реакцию от Semitako в [Android]Входящий звонок   
    Ну смотрите, вообще любой нормальный плеер когда начинает играть запрашивает фокус себе, чтобы другие приложения приостановили проигрывание, когда происходит звонок приложение телефон также забирает аудио фокус себе, ваше задача отловить этот момент, при внедрении этого кода, ваше приложение будет останавливать проигрывание когда потеряет фокус. Во первых это единственно правильный метод. Во вторых ваше приложение будет останавливать проигрывание и при запуске видео в Ютуб, или входящем звонке с мессенджеров.
  24. Thanks
    OnePeople получил реакцию от Semitako в [Android]Входящий звонок   
    Вам не нужно этого делать, вам нужно обрабатывать потерю аудиофокуса. Код корявый лень в порядок приводить...
    type TMyAudioFocusChangeListener = class; // Создаем класс прослушивания фокуса аудио TForm1 = class(TForm) ... private { Private declarations } afChangeListener: TMyAudioFocusChangeListener; Создаем переменную прослушивания фокуса аудио ... public procedure GetAudioFocus; procedure onAudioFocusChange(focusChange: Integer); end; TAudioFocusChangeEvent = procedure(focusChange: Integer) of object; // описания события изменения фокуса TMyAudioFocusChangeListener = class(TJavaLocal, JAudioManager_OnAudioFocusChangeListener) // описание класса прослушивания фокуса аудио private [weak] FParent : TForm1; FOnAudioFocusChanged: TAudioFocusChangeEvent; public constructor Create(AParent : TForm1); property OnAudioFocusChanged: TAudioFocusChangeEvent read FOnAudioFocusChanged write FOnAudioFocusChanged; Destructor Destroy; Override; procedure onAudioFocusChange(focusChange: Integer); cdecl; end; var Form1: TForm1; AuFocus: JAudioManager_OnAudioFocusChangeListener; JAudioManagerListener: TMyAudioFocusChangeListener; implementation constructor TMyAudioFocusChangeListener.Create; // создание класса begin inherited Create; FParent := AParent; end; destructor TMyAudioFocusChangeListener.Destroy; // уничтожение класса begin inherited; end; procedure TMyAudioFocusChangeListener.onAudioFocusChange(focusChange: Integer); // событие изменения фокуса begin if Assigned(FOnAudioFocusChanged) then begin FOnAudioFocusChanged(focusChange); // передача события изменения фокуса end; FParent.onAudioFocusChange(focusChange); // вызов процедуры изменения фокуса формы end; procedure TForm1.onAudioFocusChange(focusChange: Integer); //процедура изменения фокуса формы begin if (focusChange=TJaudioManager.JavaClass.AUDIOFOCUS_LOSS) then // фокус потерян begin // music stop // действия если фокус потерян end; end; procedure TForm1.GetAudioFocus; // получаем фокус для своего приложения begin CallinUIThread(procedure var AudioFocusRequest: JAudioFocusRequest; playbackAttributes: JAudioAttributes; afHandler: JHandler; res: integer; begin afChangeListener := TMyAudioFocusChangeListener.Create(Self); // создаем класс прослушивания аудио фокуса для своего приложения afHandler := TJHandler.Create; // создаем указатель своего приложения playbackAttributes := TJAudioAttributes_Builder.Create // создаем параметры прослушивания аудио фокуса .setUsage(TJAudioAttributes.JavaClass.USAGE_MEDIA) .setContentType(TJAudioAttributes.JavaClass.CONTENT_TYPE_MUSIC) .build(); AudioFocusRequest := TJAudioFocusRequest_Builder(TJAudioManager.JavaClass.AUDIOFOCUS_GAIN).Create // создаем запрос с параметрами прослушивания аудио фокуса .setAudioAttributes(playbackAttributes) .setAcceptsDelayedFocusGain(true) .setOnAudioFocusChangeListener(afChangeListener, afHandler) .build(); res := FAudioManager.requestAudioFocus(AudioFocusRequest); // непосредственно запрашиваем фокус if res = TJAudioManager.JavaClass.AUDIOFOCUS_REQUEST_DELAYED then // отказано else if res = TJAudioManager.JavaClass.AUDIOFOCUS_REQUEST_GRANTED then begin //фокус получен LogCAAdd('AUDIOFOCUS_REQUEST_GRANTED'); end else if res = TJAudioManager.JavaClass.AUDIOFOCUS_REQUEST_FAILED then // отказано LogCAAdd('AUDIOFOCUS_REQUEST_FAILED'); end ); end;  
  25. Like
    OnePeople получил реакцию от Ingalime в Не добавляется иконка приложения для Android   
    Галочки уберите

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