Исправление отображения поискового поля и элементов списка в Delphi для AndroidDelphi , Базы данных , ПоискРазработчики, использующие Delphi для создания кросс-платформенных приложений с помощью FireMonkey, иногда сталкиваются с проблемами отображения элементов интерфейса на различных платформах. В частности, пользователь столкнулся с проблемой, когда поисковое поле (TSearchBox) отображалось поверх элементов списка (TListBoxItem) в Android, в то время как на Windows и iOS все отображалось корректно. Описание проблемыВ мульти-устройственном проекте на Delphi XE8 добавлено поисковое поле к TListBox. На Android поисковое поле отображается поверх элементов списка, в то время как на Windows и iOS оно корректно отображается над элементами списка и остается на вершине даже при прокрутке. Решение проблемыПроблема была связана с использованием кастомного стиля, определенного в TStyleBook. После удаления стилей listbox и listboxitem из файла .style, используемого в TStyleBook, проблема была решена. Дополнительное условиеТекст элементов списка все еще отображался, так как для поиска требовалось использовать текст элементов. Разработчик создавал кастомные элементы списка с использованием меток для выравнивания текста определенным образом. Однако для поиска по элементам необходимо было установить текст элементов, который отображался поверх меток. Предложенное решениеИспользовать свойство TagString вместо Text для хранения поискового запроса, который не будет отображаться. Поисковый запрос не сможет быть выполнен через TSearchBox напрямую, поэтому было решено реализовать собственный метод поиска, который сравнивает текст поискового поля с TagString каждого элемента списка.
КомментарииОбратите внимание, что для корректной работы метода ЗаключениеИспользование свойства TagString для хранения текста элементов списка, который не должен быть виден, и реализация собственного метода поиска позволили решить проблему отображения элементов списка и поискового поля в FireMonkey-приложениях на Android. В мульти-устройственном проекте на Delphi XE8 поисковое поле TSearchBox неправильно отображается поверх элементов списка TListBoxItem в Android, тогда как на Windows и iOS отображение корректно, и для решения проблемы пришлось изменить способ х Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |