didgik Опубликовано 9 июля, 2023 Поделиться Опубликовано 9 июля, 2023 Привет народ! Съезжают размеры и положение контролов в Андроиде, в винде всё нормально. Что делать? Цитата Ссылка на комментарий
0 didgik Опубликовано 10 июля, 2023 Автор Поделиться Опубликовано 10 июля, 2023 Нашел в чем дело. В дизайнере формы есть переключалка стилей windows/android И если рисовать в режиме андроида, то все хорошо и переключится на виндоус, то стиль немного меняется, но ничего не съезжает, а если наоборот, с винды на андроид, то съезжает. Но тут возник другой вопрос. Для формы переключалка есть, а для фрейма нет. И фрейм рисуется в стиле винды. Можно ли включить стиль фрейма для андроида, это вопрос. Цитата Ссылка на комментарий
0 krapotkin Опубликовано 12 июля, 2023 Поделиться Опубликовано 12 июля, 2023 (изменено) фрейм подхватывает стили формы. в design-time это не удастся увидеть, но в Run-time должно быть как надо чтобы ничего не съезжало и "немного не менялось", нужно в книге стилей удалить отдельные стили для разных ОС и оставить один - default тогда программа будет выглядеть одинаково Изменено 12 июля, 2023 пользователем krapotkin Цитата Ссылка на комментарий
0 didgik Опубликовано 12 июля, 2023 Автор Поделиться Опубликовано 12 июля, 2023 58 минут назад, krapotkin сказал: чтобы ничего не съезжало и "немного не менялось", нужно в книге стилей удалить отдельные стили для разных ОС и оставить один - default Там и был один стиль default. Точнее Стилбук изначально не было в проге. Но если его туда поставить и оставить стиль default, то все равно есть два разных default для винды и для андроида. Как убрать стиль в принципе или сделать одинаковым для обеих платформ я не нашел. Цитата Ссылка на комментарий
0 krapotkin Опубликовано 12 июля, 2023 Поделиться Опубликовано 12 июля, 2023 приложите минимальный проект вы противоречите себе - то ОДИН default - то ДВА разных default вот - один Цитата Ссылка на комментарий
0 didgik Опубликовано 12 июля, 2023 Автор Поделиться Опубликовано 12 июля, 2023 Вот пустой проект по умолчанию, в редактировании формы два стиля windows и androd Цитата Ссылка на комментарий
0 krapotkin Опубликовано 12 июля, 2023 Поделиться Опубликовано 12 июля, 2023 (изменено) это вообще другая опера. Причем StyleBook здесь используется неявно положите StyleBook явно и используйте Style Designer ну и ОБЯЗАТЕЛЬНО используйте адаптивную верстку - layout'ы разных типов, свойства Align, Padding, Margins Изменено 12 июля, 2023 пользователем krapotkin Цитата Ссылка на комментарий
0 didgik Опубликовано 12 июля, 2023 Автор Поделиться Опубликовано 12 июля, 2023 Это не другая опера, это то, что мне надо. Чтобы прога в Виндоус и Андроид выглядела одинаково. И StyleBook мне никак не помогает. Ну т.е. я могу вручную копипастом заменить одни стили на другие, но это попахивает мазохизмом. Цитата Ссылка на комментарий
0 krapotkin Опубликовано 12 июля, 2023 Поделиться Опубликовано 12 июля, 2023 я попросил вас положить на форму StyleBook и оставить там один стиль вы это сделали? Цитата Ссылка на комментарий
0 didgik Опубликовано 12 июля, 2023 Автор Поделиться Опубликовано 12 июля, 2023 (изменено) 9 минут назад, krapotkin сказал: я попросил вас положить на форму StyleBook и оставить там один стиль вы это сделали? Естественно! Изменено 12 июля, 2023 пользователем didgik Цитата Ссылка на комментарий
0 didgik Опубликовано 12 июля, 2023 Автор Поделиться Опубликовано 12 июля, 2023 По большому счету из критичного только то, что по умолчанию в Андроид крупный шрифт и если размеры контролов рисовать с учетом этого то косяков будет намного меньше, но всё равно не удобно. Почему то нет Frame под андроид и из за этого у меня проблемы. Цитата Ссылка на комментарий
1 krapotkin Опубликовано 12 июля, 2023 Поделиться Опубликовано 12 июля, 2023 вот теперь, если в книгу загрузить любой стиль например отсюда C:\Users\Public\Documents\Embarcadero\Studio\<version>\Styles (и не дать ей создать отдельные стили для каждой ОС), то выглядеть все будет одинаково конечно, надо иметь в виду, что шрифт из стиля должен иметься везде, иначе ОС подставит что-нибудь Цитата Ссылка на комментарий
0 krapotkin Опубликовано 12 июля, 2023 Поделиться Опубликовано 12 июля, 2023 win64 Цитата Ссылка на комментарий
0 krapotkin Опубликовано 12 июля, 2023 Поделиться Опубликовано 12 июля, 2023 Android64 Цитата Ссылка на комментарий
0 krapotkin Опубликовано 12 июля, 2023 Поделиться Опубликовано 12 июля, 2023 Frame под андроид, кстати, вполне себе есть и работает ровно так же как в Win только не нужно создавать их в Design-time, ни там, ни там Цитата Ссылка на комментарий
0 didgik Опубликовано 12 июля, 2023 Автор Поделиться Опубликовано 12 июля, 2023 Приблизительно справился. Добавил стиль на андроид сделанный из Windows Style. Почти похоже. Пока единственный касяк, что у винды TEdit 22 высотой, а у Андроида 32. Придется у каждого едита дергать высоту. А про фреймы не понял. Они же специально нужны чтоб в Design-time их мышкой рисовать. Цитата Ссылка на комментарий
0 krapotkin Опубликовано 12 июля, 2023 Поделиться Опубликовано 12 июля, 2023 Если не делать controlstyle=native то высота едита задаётся стилем, не системой Фреймы вы явно что-то не то подразумеваете. А что - я не понимаю. File - new - other - fmx frame Цитата Ссылка на комментарий
0 didgik Опубликовано 12 июля, 2023 Автор Поделиться Опубликовано 12 июля, 2023 27 минут назад, krapotkin сказал: Если не делать controlstyle=native то высота едита задаётся стилем, не системой Такого не нашел, зато есть ControlType = Styled/Platform. Как в стиле прописать высоту кнопки или едита я не нашел. А по умолчанию в форме высота не сохраняется. 33 минуты назад, krapotkin сказал: Фреймы вы явно что-то не то подразумеваете. А что - я не понимаю. File - new - other - fmx frame И я про это. Почему то значка поддержки Андроида при создании нет, хоть и работает правда без стилей в Design-time. Цитата Ссылка на комментарий
0 krapotkin Опубликовано 13 июля, 2023 Поделиться Опубликовано 13 июля, 2023 10 часов назад, didgik сказал: ControlType = Styled/Platform да, верно, с коленки писал, неточно вспомнил Styled - это значит, что все задается стилем Цитата Ссылка на комментарий
0 krapotkin Опубликовано 13 июля, 2023 Поделиться Опубликовано 13 июля, 2023 (изменено) вот. отлично видно, что размер едита не стандартный Изменено 13 июля, 2023 пользователем krapotkin Цитата Ссылка на комментарий
0 didgik Опубликовано 13 июля, 2023 Автор Поделиться Опубликовано 13 июля, 2023 1 час назад, krapotkin сказал: вот. отлично видно, что размер едита не стандартный я об этом и говорю. и стилем не правится. Цитата Ссылка на комментарий
0 krapotkin Опубликовано 13 июля, 2023 Поделиться Опубликовано 13 июля, 2023 я теряю нить. надо одинаково или НЕ одинаковл? я на скрине показал, что размер я задал какой мне нужен. и он что на Win64 что на A64 - одинаков если не трогать, он одинаковый на всех платформах если нужно НЕ одинаковый, тут никто же за вас не решит - какой где - поэтому в OnCreate задать одной строкой программно, да и все Цитата Ссылка на комментарий
0 didgik Опубликовано 13 июля, 2023 Автор Поделиться Опубликовано 13 июля, 2023 Попытаюсь объяснить подробнее. При включенном стиле видос размещаем едит, по умолчанию он высотой 22, при переключении в стиль андроид, высота едита увеличивается до 32. Если изменить высоту едита вручную, то она фиксируется. С кнопкой такая же фигня. Как задать изначальную высоту едита или кнопки в стилях я не нашел. Цитата Ссылка на комментарий
0 krapotkin Опубликовано 13 июля, 2023 Поделиться Опубликовано 13 июля, 2023 размер самого контрола не задается в стиле он задается обычно в конструкторе и потом считывается из ресурса DFM/FMX если найдено свойство, то оно перекрывает изначальное поэтому да, нужно изначально в инспекторе поставить хоть какой-то размер, чтобы он прописался в форму и после этого он будет таким всегда Цитата Ссылка на комментарий
0 OnePeople Опубликовано 14 июля, 2023 Поделиться Опубликовано 14 июля, 2023 type TEdit = class(FMX.Edit.TEdit) protected procedure AdjustFixedSize(const Ref: TControl); override; end; implementation {$R *.fmx} procedure TEdit.AdjustFixedSize(const Ref: TControl); begin SetAdjustType(TAdjustType.None); end; Исправление Цитата Ссылка на комментарий
0 krapotkin Опубликовано 14 июля, 2023 Поделиться Опубликовано 14 июля, 2023 насколько я помню, это исправление не актуально уже пару версий могу ошибаться Цитата Ссылка на комментарий
Вопрос
didgik
Привет народ!
Съезжают размеры и положение контролов в Андроиде, в винде всё нормально.
Что делать?
Ссылка на комментарий
31 ответ на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.