- 0
Смещается заголовок формы на Android Intel
-
Похожий контент
-
- 12 ответов
- 492 просмотра
-
- 2 ответа
- 286 просмотров
-
- 0 ответов
- 557 просмотров
-
- 9 ответов
- 1 411 просмотр
-
- 1 ответ
- 850 просмотров
-
- 4 ответа
- 970 просмотров
-
- 2 ответа
- 836 просмотров
-
- 0 ответов
- 706 просмотров
-
Поставил Delphi 10.4 - не могу скомпилировать приложение под Android
От Delpher-X,
- delphi 10.4.2
- android
- (и ещё 2 )
- 24 ответа
- 3 063 просмотра
-
- 4 ответа
- 1 272 просмотра
-
-
Последние посетители 0 пользователей онлайн
- Ни одного зарегистрированного пользователя не просматривает данную страницу
Вопрос
Andrew
Для проведения опытов на Delphi XE8 использовал два планшета Android:
- Lenovo TAB S8-50LC на базе процессора Intel Atom Z3745: http://www.ixbt.com/portopc/lenovo-tab-s8-50lc.shtml. На нем установлен Android версии 4.4.2. Подключил к USB и, как не странно, тестовая программка "Hello World!" успешно запустилась, хотя думал, что с процессором Intel вообще ничего не получится;
- Prestigio Multipad PMT5777_3G с процессором ARM MediaTek MT8382. На нем установлен Android 4.2.2.
Затем на форму красного цвета бросил зеленый TRectangle, присвоил Align значение Client, а также добавил желтую рамку с помощью свойства Stroke (Thinkness=10). Запустил на Prestigio - выглядит нормально, если не считать не дорисованных уголков (см. красные квадраты). Кстати, на Windows уголки рамки отображаются нормально.
MainForm.Top = 25 - видимо, смещение от статус-бара.
Затем запустил на Lenovo и результат получился не такой красивый. Как видим, верх формы почему-то "уехал" за статус-бар, а ее свойство Top равно 0:
------------------------------------------------------------------------------------------------------------------------------------
Поворачиваем планшеты на 90 градусов. На Prestigio все выглядит нормально:
На Lenovo произошло какое-то расстройство:
Как я понял, на Lenovo возникают проблемы с получением высоты статус-бара и размеров экрана при повороте планшета, но с чем это связано - непонятно. Возможно решение где-то в FMX.Platform.Android или глубже. По крайней мере там переменная FStatusBarHeight равна нулю.
На моем примере ниже можно получить правильные размеры и позицию для формы (в т.ч. с учетом статус-бара):
NativeWin := SharedActivity.getWindow;
if NativeWin <> nil then
begin
ContentRect := TJRect.Create;
DecorView := NativeWin.getDecorView;
DecorView.getWindowVisibleDisplayFrame(ContentRect);
end;
Ссылка на комментарий
20 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.