Перейти к содержанию
Fire Monkey от А до Я
  • 0

Съезжают размеры и положение контролов в Андроиде, в винде всё нормально.


didgik

Вопрос

Рекомендуемые сообщения

  • 0

Нашел в чем дело.
В дизайнере формы есть переключалка стилей windows/android
И если рисовать в режиме андроида, то все хорошо и переключится на виндоус, то стиль немного меняется, но ничего не съезжает, а если наоборот, с винды на андроид, то съезжает.
Но тут возник другой вопрос. Для формы переключалка есть, а для фрейма нет. И фрейм рисуется в стиле винды.
Можно ли включить стиль фрейма для андроида, это вопрос.

Ссылка на комментарий
  • 0

фрейм подхватывает стили формы. в design-time это не удастся увидеть, но в Run-time должно быть как надо

чтобы ничего не съезжало и "немного не менялось", нужно в книге стилей удалить отдельные стили для разных ОС и оставить один - default

тогда программа будет выглядеть одинаково

Изменено пользователем krapotkin
Ссылка на комментарий
  • 0
58 минут назад, krapotkin сказал:

чтобы ничего не съезжало и "немного не менялось", нужно в книге стилей удалить отдельные стили для разных ОС и оставить один - default

Там и был один стиль default. Точнее Стилбук изначально не было в проге. Но если его туда поставить и оставить стиль default, то все равно есть два разных default для винды и для андроида. Как убрать стиль в принципе или сделать одинаковым для обеих платформ я не нашел.

Ссылка на комментарий
  • 0

это вообще другая опера. Причем StyleBook здесь используется неявно

положите StyleBook явно и используйте Style Designer

ну и ОБЯЗАТЕЛЬНО используйте адаптивную верстку - layout'ы разных типов, свойства Align, Padding, Margins

Изменено пользователем krapotkin
Ссылка на комментарий
  • 0

Это не другая опера, это то, что мне надо. Чтобы прога в Виндоус и Андроид выглядела одинаково. И StyleBook мне никак не помогает. Ну т.е. я могу вручную копипастом заменить одни стили на другие, но это попахивает мазохизмом.

Ссылка на комментарий
  • 0
9 минут назад, krapotkin сказал:

я попросил вас положить на форму StyleBook и оставить там один стиль

вы это сделали?

Естественно!

 

3718.jpg

9.png

Изменено пользователем didgik
Ссылка на комментарий
  • 0

По большому счету из критичного только то, что по умолчанию в Андроид крупный шрифт и если размеры контролов рисовать с учетом этого то косяков будет намного меньше, но всё равно не удобно. Почему то нет Frame под андроид и из за этого у меня проблемы.

Ссылка на комментарий
  • 1

вот теперь, если в книгу загрузить любой стиль

например отсюда

C:\Users\Public\Documents\Embarcadero\Studio\<version>\Styles 

(и не дать ей создать отдельные стили для каждой ОС),

то выглядеть все будет одинаково

конечно, надо иметь в виду, что шрифт из стиля должен иметься везде, иначе ОС подставит что-нибудь

 

Ссылка на комментарий
  • 0

Приблизительно справился. Добавил стиль на андроид сделанный из Windows Style. Почти похоже. Пока единственный касяк, что у винды TEdit 22 высотой, а у Андроида 32. Придется у каждого едита дергать высоту. А про фреймы не понял. Они же специально нужны чтоб в Design-time их мышкой рисовать.

Ссылка на комментарий
  • 0

Если не делать controlstyle=native то высота едита задаётся стилем, не системой

Фреймы вы явно что-то не то подразумеваете. А что - я не понимаю.

File - new - other - fmx frame

Ссылка на комментарий
  • 0
27 минут назад, krapotkin сказал:

Если не делать controlstyle=native то высота едита задаётся стилем, не системой

Такого не нашел, зато есть ControlType = Styled/Platform. Как в стиле прописать высоту кнопки или едита я не нашел. А по умолчанию в форме высота не сохраняется.

33 минуты назад, krapotkin сказал:

Фреймы вы явно что-то не то подразумеваете. А что - я не понимаю.

File - new - other - fmx frame

И я про это. Почему то значка поддержки Андроида при создании нет, хоть и работает правда без стилей в Design-time.

Ссылка на комментарий
  • 0

я теряю нить. надо одинаково или НЕ одинаковл?

я на скрине показал, что размер я задал какой мне нужен. и он что на Win64 что на A64 - одинаков
если не трогать, он одинаковый на всех платформах
если нужно НЕ одинаковый, тут никто же за вас не решит - какой где - поэтому в OnCreate задать одной строкой программно, да и все

 

Ссылка на комментарий
  • 0

Попытаюсь объяснить подробнее.

При включенном стиле видос размещаем едит, по умолчанию он высотой 22, при переключении в стиль андроид, высота едита увеличивается до 32. Если изменить высоту едита вручную, то она фиксируется. С кнопкой такая же фигня. Как задать изначальную высоту едита или кнопки в стилях я не нашел.

GIF 13.07.2023 14-54-55.gif

Ссылка на комментарий
  • 0

размер самого контрола не задается в стиле

он задается обычно в конструкторе и потом считывается из ресурса DFM/FMX

если найдено свойство, то оно перекрывает изначальное

поэтому да, нужно изначально в инспекторе поставить хоть какой-то размер, чтобы он прописался в форму и после этого он будет таким всегда

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

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

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...