Важно (9.07.22)

Если картинки в постах не отображаются, зайдите в блог через прокси. РКН заблокировал поддомены blogger.com на которые загружались картинки.

среда, 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)