Hevard Опубликовано 12 февраля, 2023 Поделиться Опубликовано 12 февраля, 2023 (изменено) Добрый день! В RAD есть шаблоны на 5" и на 7". Как приложение определяет дюймовку экрана? Есть 2 телефона: Разрешение (пикс): 1920x1080 (5.2") Разрешение (пикс): 2340x1080 (6.3") В первом - шаблон 5", во втором - 7" Как так получается? Изменено 12 февраля, 2023 пользователем Hevard Цитата Ссылка на комментарий
0 krapotkin Опубликовано 13 февраля, 2023 Поделиться Опубликовано 13 февраля, 2023 я еще не слышал примеров, где было оправданно использование разных шаблонов при разработке форм лучше использовать адаптивную верстку а получается, думаю, чисто сравнением разрешения с имеющимся набором ресурсов для одной формы. возможно, среднеквадратичным отклонением Цитата Ссылка на комментарий
0 Hevard Опубликовано 6 апреля, 2023 Автор Поделиться Опубликовано 6 апреля, 2023 В 13.02.2023 в 21:25, krapotkin сказал: адаптивную верстку Это самому расписывать координаты и якоря? Цитата Ссылка на комментарий
0 Martifan Опубликовано 6 апреля, 2023 Поделиться Опубликовано 6 апреля, 2023 В RAD Studio (Delphi или C++Builder) шаблоны для разных дюймовок экрана обычно определяются с помощью FireMonkey, которая адаптирует пользовательский интерфейс для разных размеров и разрешений экранов. Однако, само приложение не определяет дюймовку экрана напрямую. Вместо этого оно опирается на логическое разрешение экрана (DPI). DPI (dots per inch) - это мера разрешения экрана, которая указывает, сколько точек (пикселей) содержится на одном дюйме экрана. Определение экрана в дюймах происходит с помощью соотношения физического размера экрана и DPI. В случае с вашими двумя телефонами, возможно, что DPI и физический размер экрана вносят различия, которые делают шаблон 7" подходящим для одного из них, даже если фактический размер экрана составляет 6,3". Если вы хотите определить размер экрана в дюймах в приложении RAD Studio, вы можете использовать следующий код: uses FMX.Platform; function GetScreenSizeInches: Single; var ScreenService: IFMXScreenService; ScreenWidth, ScreenHeight, ScreenDiagonalPixels: Single; begin Result := 0; if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService)) then begin ScreenWidth := ScreenService.GetScreenSize.X / ScreenService.GetScreenScale; ScreenHeight := ScreenService.GetScreenSize.Y / ScreenService.GetScreenScale; ScreenDiagonalPixels := Hypot(ScreenWidth, ScreenHeight); Result := ScreenDiagonalPixels / ScreenService.GetScreenPPI; end; end; Этот код вычисляет размер экрана в дюймах, используя FireMonkey Platform Services. Важно отметить, что результат может немного отличаться от фактического размера экрана из-за различий в производстве экранов и возможных ошибок в определении DPI. Цитата Ссылка на комментарий
0 krapotkin Опубликовано 7 апреля, 2023 Поделиться Опубликовано 7 апреля, 2023 9 часов назад, Hevard сказал: Это самому расписывать координаты и якоря? это пользоваться вкладыванием компонентов в Layouts и другие контейнеры, в т.ч. друг в друга, и использование свойств Align Margin и Paddings Цитата Ссылка на комментарий
Вопрос
Hevard
Добрый день!
В RAD есть шаблоны на 5" и на 7". Как приложение определяет дюймовку экрана?
Есть 2 телефона:
В первом - шаблон 5", во втором - 7"
Как так получается?
Изменено пользователем HevardСсылка на комментарий
4 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.