Страницы

среда, 30 октября 2013 г.

Как загрузить пользовательские стили во время выполнения приложения

Во время выступления на CodeRage, автор статьи кратко рассказала о том, как загрузить пользовательские стили во время выполнения. В этом примере мы создаём приложение для iOS и Android, которое использует "Jet Premium Style". Оба стиля добавлены через диалоговое окно ресурсов. Для загрузки стиля во время выполнения приложения используем "TStyleManager.LoadFromResource".


Первым шагом является добавление обоих стилей к ресурсам с помощью "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)