Everything posted by Yaroslav Brovin
- Неправильно считается высота TfgCollectionView на встроенной форме
-
Моргание TfgCollectionView при нажатии мимо
Я еще, как будет свободное время, поотлаживаю часть Андроида на предмет поиска возможного обхода на уровне библиотеки. Но на текущий момент, мы не используем какой-то код на нашей стороны, связанный с обработкой событий и я уверен на 99%, что ошибка в реализации RecyclerView. Но пока используйте то решение, которое я предложил.
- Неправильно считается высота TfgCollectionView на встроенной форме
- Моргание TfgCollectionView при нажатии мимо
-
Отпечаток пальца
Changed Status to Fixed Changed Resolution to Fixed
-
Ошибка дизайнера
Changed Resolution to Fixed
-
Ошибка дизайнера
Changed Status to Fixed Changed Fix version to 1.19.0.0
-
При закрытии Delphi практически всегда выпадает ошибка
Changed Status to Fixed Changed Resolution to Fixed Changed Fix version to 1.19.0.0
-
Неправильно считается высота TfgCollectionView на встроенной форме
Решение - это перейти от накопительной погрешности к единовременной. Нужно вычислять размер стиля в px и именно его использовать при вычислении высоты всего списка. uses FGX.Screen; FStyleSizeInPx: Integer; // Расчет высоты стиля в px FStyleSizeInPx := Ceil(CollectionView_Style1.Height * TfgScreenManager.Main.Scale); // Расчет высоты списка CollectionView.Height := (FStyleSizeInPx * CollectionView.Count / TfgScreenManager.Main.Scale);
-
Неправильно считается высота TfgCollectionView на встроенной форме
(1) В вашем стиле списка, метка NameLabel с текстом использует резиновую разметку и растягивается по размеру контейнера CardPanel. Аналогично касается CardPanel, которая растягивается по размеру стиля. Корневой div - это CollectionView_Style1 <div layout="width: 167; height: 33; top: 25; left: 0;" style="align-content: stretch; width: 167px; height: 33px; position: absolute; left: 0px; top: 25px; " > <!-- CardPanel--> <div layout="width: 157; height: 27; top: 5; left: 5;" style="flex-direction: row; align-content: stretch; flex-grow: 1; margin-left: 5px; margin-top: 5px; margin-right: 5px; " > <!-- NameLabel --> <div layout="width: 144; height: 27; top: 0; left: 10;" style="flex-grow: 1; margin-left: 10px; margin-right: 3px; " ></div> </div> <div layout="width: 157; height: 1; top: 32; left: 5;" style="margin-left: 5px; margin-right: 5px; height: 1px; " ></div> </div>Затем в событии OnShow вы принудительно пытаетесь указать новый размер тексту и метке, размер которых расчитывается автоматически FlexBox! Получается, что вы пытаетесь задать размер для компонентов, размер которых расчитывается автоматически. (2) После расчета размера, компоненты принимают дробный размер. В вашем случае у стиля получается высота равная 37.4285736 dp. Android использует физические пиксели px для финальных размеров компонентов, вьюшке и т.д. Поэтому после конвертации с учетом дробного коэффициента масштабирования естественно происходит округление с потерей точности. В результате вьюшка принимает размер в 67px, что соответствует уже 38dp. Дальше эта погрешность умножается на количество элементов, она накапливается и отображается в виде различия между тем значением, которое вы вычислили и тем, что получается в px. Это связано с тем, что в эмуляторе используется коэффициент масштабирования 1, поэтому 1 dp = 1 px. А на реальных устройствах это не так.
- MoveCameraToVisibleRegion всё еще не работает
-
Моргание TfgCollectionView при нажатии мимо
Любопытный баг Андроида. Если событие касание не обработано до формы, то в RecyclerView возникает вот такой-вот любопытный эффект, что событие проходится по всем кнопкам и это приводит к такой анимации. Я не вижу решения с нашей стороны, возможно, это будет исправлено в RecyclerView Google и при обновлении на более новую версию, это ошибка пройдет. Но я гарантировать ничего не могу. Обходное решениеЭто не допустить доставки события до формы. Для этого: либо поставить HitTest = True для тех компонентов, по нажатие на которые получается такой эффект. либо добавить на форму TfgLayout в качестве заднего фона, установить ему HitTest=True
- Моргание TfgCollectionView при нажатии мимо
-
The command "gradlew app:build" exited with code 1
Hello @yanchun , Did you specified correct java version in Android Profile SDK in IDE? Did you JAVA_HOME enviorument variable point on Java 21?
-
1.18.14.1 English
Download: setup_1.18.14.1_release.eng.zip Release date: 13 August 2025 Bug Fixes 🐛The canvas was not drawn with a brush that has Color = Null specified and uses a color asset.
-
1.18.14.0 Русский
- 1.18.14.1 Русский
Скачать: setup_1.18.14.1_release.rus.zip Дата релиза: 13 августа 2025 Исправление ошибок 🐛На канве не выполнялась отрисовка кистью, у которой указан Color = Null и используется ассет цвета.- 1.18.14.0 Русский
- 1.18.14.0 Русский
Тогда попробовать поймать исключение в отладчике или локализовать место. Без этого, исправления не будет. Потому что на ваших проектах в баг трекер я падение не ловил. Ошибка у вас возникает в момент создания формы. Видимо, что-то вы там делаете при создании формы, что приводит к падению. Если вы считаете, что это связано с картой. То как минимум можно локализовать форму и найти строчку, которая приводит к этому падению.- 1.18.14.0 Русский
Нужно больше информации: Шаги для воспроизведения. В идеале приложить проект.- 1.18.14.0 Русский
Поставил релиз на сборку, как соберется, выложу.- 1.18.14.0 Русский
Скорее всего. Вот исправленный файл FGX.Canvas.Types.pasЕго нужно добавить в проект и пересобрать.- 1.18.14.0 Русский
Спасибо, это воспроизвел. Сейчас поправлю и сделаю хотфикс. Что-то еще? Рамка не отображается, если указан Color = Null.- 1.18.14.0 Русский
- 1.18.14.0 Русский
Есть более подробная информация, о чем речь идет? Аналогично, в каких местах и что за цвета? - 1.18.14.1 Русский