Во время выступления на CodeRage, автор статьи кратко рассказала о том, как загрузить пользовательские стили во время выполнения. В этом примере мы создаём приложение для iOS и Android, которое использует "Jet Premium Style". Оба стиля добавлены через диалоговое окно ресурсов. Для загрузки стиля во время выполнения приложения используем "TStyleManager.LoadFromResource".
Первым шагом является добавление обоих стилей к ресурсам с помощью "Project->Resources and Images" в IDE. Нажмите на "Добавить", перейдите в папку вашего стиля (например, C: \PremiumPack\iOS) и выберите стиль (т.е. iOSJet.style). Затем нажмите на кнопку "Открыть".
Первым шагом является добавление обоих стилей к ресурсам с помощью "Project->Resources and Images" в IDE. Нажмите на "Добавить", перейдите в папку вашего стиля (например, C: \PremiumPack\iOS) и выберите стиль (т.е. iOSJet.style). Затем нажмите на кнопку "Открыть".
Измените имя идентификатора ресурса, чтобы соответствовать строке в коде.
Затем создаём следующее событие "OnCreate" для формы:
procedure TForm1.FormCreate(Sender: TObject); var Style: TFMXObject; begin Style := nil; {$IFDEF IOS} Style := TStyleManager.LoadFromResource(HInstance, ‘iOSJet’, RT_RCDATA); {$ENDIF} {$IFDEF ANDROID} Style := TStyleManager.LoadFromResource(HInstance, ‘AndroidJet’, RT_RCDATA); {$ENDIF} if Style <> nil then TStyleManager.SetStyle(Style); end;
Во время выполнения приложения на устройстве c iOS, вы увидите "iOSJet" стиль, и на устройстве с Android, увидим "AndroidJet" стиль.
p.s. Это вольный перевод статьи How to load custom styles at runtime (Автор: Sarina DuPont, Product Manager RAD Studio)