Skip to content
View in the app

A better way to browse. Learn more.

FGX Native

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

1.20.2.0 Русский

Featured Replies

  • Administrators

Скачать:

Дата релиза:
21 октября 2026


Новое ✨

Настройки проекта

Добавлена страница настройки основной иконки приложения для Android. Доступно, как задание адаптивной иконки, так и использование старых иконок с возможностью автоматической их генерации их из SVG.

Все наши демонстрационные примере теперь используют новую адаптивную иконку приложения и анимированную заставка на современных Android версиях.

Формы

Добавлен новый ручной режим анимации отображения и скрытия формы. В ручном режиме разработчик полностью отвечает за анимацию открытия и закрытия формы. Этот режим может пригодиться тем, кому не подходят стандартные способы анимаций.

Чтобы им воспользоваться нужно передать новое значение режимов TfgFormPresentationStyle.Custom для обычного или TfgModalFormPresentationStyle.Custom для модального режима. В этом режиме запрос на анимацию формы осуществляется через новое событие TfgForm.OnCustomAnimation. В событие передается специальный обработчик AHandler через который необходимо сообщить форме о завершении своей анимации, вызвав метод AHandler.Completed. Вызов этого метода обязателен для корректной работы. Если уведомления не будет, то пользовательская анимация будет считаться досрочно законченной.

uses
  FGX.Animation, FGX.Animation.Types, FGX.Animation.Templates, FGX.Asserts;
  
procedure TFormSecond.fgFormCustomAnimation(Sender: TObject; const AKind: TfgCustomFormAnimationKind;
  const AHandler: IFGXFormAnimationCompletionHandler);
var
  FinishAnimationCallback: TfgCallback;
begin
  FinishAnimationCallback := procedure
  begin
    AHandler.Completed;
  end;

  case AKind of
    TfgCustomFormAnimationKind.Show:
      FadeIn(TfgFadeAnimationParams.Default
                                   .RemoveOption(TfgAnimationOption.StartFromCurrent),
             FinishAnimationCallback);
    TfgCustomFormAnimationKind.ShowModal:
      FadeInFromTop(TfgFadeAnimationParams.Default
                                          .RemoveOption(TfgAnimationOption.StartFromCurrent),
                    FinishAnimationCallback);
    TfgCustomFormAnimationKind.Hide:
      FadeOut(FinishAnimationCallback);
    TfgCustomFormAnimationKind.HideModal:
      FadeOutToTop(FinishAnimationCallback);
  else
    raise EfgAssertError.CreateFmt(SUnknownValue, ['TfgCustomFormAnimationKind']);
  end;
end;
  • Добавлен новый пример: "Анимация" -> "Пользовательская анимация открытия/закрытия формы"

Улучшения 🙌

SVG

Улучшен разбор SVG файлов:

  • Улучшено чтение атрибутов прозрачности.

  • Исправлено чтения градиентов, если в именах используются символы в разных регистрах.

TfgAudioRecorder

Добавлено новое свойство TfgAudioRecorder.BitRate, позволяющее указывать желаемое значение битрейта.

Исправлены небольшие недочеты демонстрационного примера: "Сервисы" -> "Аудио" -> "Запись звука"

Анимированная заставка для android

Обновлены все демонстрационные примеры. Теперь они используют анимированную заставку на Андроид 12+ версиях.

TfgListMenu

Теперь можно скрывать пункты меню и делать их недоступными для взаимодействия. Добавлены новые свойства TfgListMenu: Visible и Enabled.

Радиальный градиента

Пересмотрен способ задания радиального градиента. Раньше центр градиента совпадал с центром отрезка StartPoint/EndPoint, а радиус всегда был равен половине максимального размера закраиваемой фигуры. В результате чего было сложно поменять стандартное расположение градиента.

Теперь радиальный градиент задается следующим образом:

  • TfgGradient.StartPoint задает центр радиального градиента

  • TfgGradient.StopPoint указывает на радиус относительно центра.

Используя такой подход, теперь можно задать любое расположение градиента и его размер. Помимо этого исправлено отображение радиального градиента в дизайнере форм.

Исправление ошибок 🐛

Добрый день. Поставил новую версию. Перестало компилироваться с ошибкой:

[SetupAdaptiveIcon Error] FGX.Delphi.Android.Targets(372): Failed to setup Adaptive Icon.

Не удалось найти часть пути ".Artwork\Android\FM_AdaptiveIcon_Background.xml".

в System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)

в System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)

в System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite)

в FGX.Build.Task.Android.ImageHelper.PrepareImage(String converterDir, String inputDir, String inputFile, String outputDir, String outputFile)

в FGX.Build.Task.Android.SetupAdaptiveIcon.createAdaptiveIcon()

в FGX.Build.Task.Android.SetupAdaptiveIcon.Execute()

Я правильно понимаю что иконки теперь принудительно нужно перенастраивать и как раньше было настроено работать не будет?

При переключении в настройках на анимированную заставку сразу не находит какой то файл и предлагает закрыть окно. Хотя анимированная заставка вроде выключена.

Снимок экрана 2026-10-21 095821.png

В основных настройках проекта эти иконки заданы и файлы на месте, но в настройках FGX они показываются как не найденные!

Снимок экрана 2026-10-21 133300.png

Снимок экрана 2026-10-21 133655.png

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.