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