ОБНОВЛЕНИЕ: я сделал новый тестовый проект с нуля, и этот ДЕЙСТВИТЕЛЬНО применил стиль внутри маркера платформы по умолчанию в моей основной форме на Windows и Android, поэтому поведение, показанное ниже, может иметь какое-то отношение к остальной части моего проекта. Я сделаю некоторые больше тестов. (У меня есть 1 стиль «фоновый стиль» с цветом заливки прямоугольной кисти, установленным на красный)
ОБНОВЛЕНИЕ 2: как только я добавил 1 определенный стиль, например. Android, ни один из стилей платформы «по умолчанию» больше не рассматривается. Mainform вдруг перестала краснеть.
В героической попытке создать хороший дизайн стиля для моего мультиплатформенного приложения, подтверждающего концепцию, я более внимательно изучил книгу стилей. Вообще, отделение стилизации от логики приложения, конечно, очень приветствуется. Хотя я больше не уверен, является ли реализация этого принципа в fmx оптимальной (я теряюсь, пытаясь выяснить, какое свойство какого ресурса стиля мне нужно изменить, чтобы получить то, что я хочу, для чего-либо, кроме простого текста или прямоугольников. ..но это может быть на мое усмотрение. ). Я также понимаю, что у каждой целевой платформы есть свои привычки, и придерживаться их — хорошая практика (по крайней мере, если вы хотите быть частью херда :-). Но я бы сказал, что, например. мои основные цвета приложения — это то, что я решаю, и они должны быть одинаковыми на разных платформах. Кажется, чтобы добиться этого, мне нужно изменить это, возможно, для всех нескольких отдельных стилей --resources-- (везде цвет заливки / может быть указан в каждом из 190 стилей в списке, а также в все растровые изображения в растровой карте, и это для каждого масштаба и каждого имени исходной ссылки..) и, опять же, это для каждой целевой платформы ... В результате обычно я придерживаюсь «премиальных» стилей из коробки: - )
Я надеялся, что маркер платформы «по умолчанию» придет на помощь, и что эта платформа будет для всех стилей, и, ЗА ИСКЛЮЧЕНИЕМ, будут повторяться и изменяться только некоторые специфичные для платформы стили, если это действительно необходимо на этой платформе. . В документации сказано:
Примечание. Существует также маркер платформы «По умолчанию». Приложение FireMonkey загружает > стиль по умолчанию, когда приложение не может найти подходящие стили для > текущей платформы.
Но, похоже, это не работает. например на Android эти стили по умолчанию (во время выполнения) всегда игнорируются и возвращаются к стилю, специфичному для встроенной платформы, но в Windows стили действительно используются... (в среде IDE во время разработки отображается тот же стиль по умолчанию, как я ожидаю для каждого платформу, которую я выбираю -- ) В моем примере я просто использую цвет фона основной формы (= цвет заливки кисти backgroundstyle ) в качестве простой тестовой настройки: измените цвет заливки кисти на 'backgroundstyle'
для платформы по умолчанию и запустите это на окнах/андроидах).
Итак, какова цель платформы по умолчанию в книге стилей? Есть что-то, чего я не понимаю? Или это ошибка? Есть ли способ использовать один набор стилей на платформе через книгу стилей? Если нет, можете ли вы создать и развернуть один файл стиля, загрузить его во время выполнения и использовать на всех платформах? (Должен ли быть маркер платформы в этом файле стилей? Будут ли стили игнорироваться, если не «на самом деле» правильная целевая платформа...)
В результате я обнаружил, что много работаю над стилями кода во время выполнения, потому что Я действительно уверен, что это будет совместимо с платформой, но это не совсем цель, я думаю....