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.

Некорректное значение AVKFrame.Height на Android 15+

  • Status: Fixed
  • Priority: Critical
  • Resolution: Fixed
  • Platform: Android
  • Affects version 1.19.6.0
  • Fix version: 1.19.10.0

Добрый день!

Событие TfgForm.OnVirtualKeyboardFrameChanged при свернутой клавиатуре возвращает отрицательное значение AVKFrame.Height.

Также, было бы здорово проверить корректность вывода значения при раскрытой клавиатуре.

Воспроизводится на Android15+ при отключенной нижней панели навигации (режим управления жестами)

User Feedback

Recommended Comments

  • Administrators

Телефон Samsung A26 (Android 16). Включен режим управления жестами, о чем можно судить по скриншоту ниже и отображении полоски жестов, вместо системных кнопок:

Screenshot_20260818_030141_One UI Home.jpg

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

image.png

procedure TFormMain.fgFormVirtualKeyboardFrameChanged(Sender: TObject; const AVKFrame: TRectF);
begin
  fgLabel1.Text := Format('%f x %f', [AVKFrame.Width, AVKFrame.Height]);
  reVKSpacer.BeginUpdate;
  try
    reVKSpacer.Position.SetPointF(AVKFrame.Left, AVKFrame.Top - reVKSpacer.Stroke.Thickness);
    reVKSpacer.Size.SetSizeF(AVKFrame.Width, AVKFrame.Height + reVKSpacer.Stroke.Thickness);
  finally
    reVKSpacer.EndUpdate;
  end;
end;

В результате в рантайме проблемы нет:

Screenshot_20260818_025926.jpgScreenshot_20260818_025932.jpg

Нужно больше информации, прикрепить демо-проект.

Roman

Active subscription
(edited)

Добрый вечер!

Тоже телефон Samsung (A06) и тоже Android 16. Тоже включен режим управления жестами.
Но ошибка воспроизводится

Конфигурацию IDE тоже прикладываю (развернута на новом рабочем месте: какая либо наследственность кеша и "хвосты" исключены).

На всякий случай, приложил демо, которое тоже собрал сейчас

Screenshot_20260818_204623.pngScreenshot_20260818_204634.pngScreenshot_20260818_204732.pngScreenshot_20260818_204741.png

image.png

VKFrameDemo.zip

Edited by Roman

Roman

Active subscription

Добрый вечер!

Сегодня проверил на других устройствах. Проблема воспроизводится только на Samsung A06 (Android 16). На остальных - значение высоты фрейма корректное и ниже 0 не возвращается. На всех устройствах стоят актуальные прошивки и системные обновления. Все устройства в базовой конфигурации и никакие дополнительные настройки, кроме заводских, не производились.

Возможно, следует предусмотреть такую особенность и исключить возможность возврата значения, выходящего за границы допустимого? В данном случае, это AVKFrame.Height<0

Данные о тестовых устройствах:

1. Google Pixel 6 / Android 15 / Проблема не воспроизводится
2. Google Pixel 7 / Android 17 / Проблема не воспроизводится
3. Google Pixel 8 / Android 16 / Проблема не воспроизводится
4. Infinix X6532 (32bit) / Android 14 (оболочка XOS 14.0.1-U-P81-231129) / Проблема не воспроизводится
5. Samsung A06 / Android 16 (оболочка One UI 8.0) / Проблема воспроизводится!

  • Administrators

Changed Status to Fixed

Changed Resolution to Fixed

Changed Fix version to 1.19.10.0

Create an account or sign in to comment

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.