Android Delphi多平台多样式

Android Delphi多平台多样式,android,delphi,Android,Delphi,我创建表单并在表单上附加了两个TStylebook 第一个有Windows风格(MetropolisUIBlack.vsf),第二个有Android风格(AndroidLight.fsf) 在表单创建中,我编写了以下代码 procedure TMainForm.FormCreate(Sender: TObject); begin {$IFDEF MSWINDOWS} Self.StyleBook := WinStyle; {$ENDIF} {$IFDEF ANDROID}

我创建表单并在表单上附加了两个TStylebook

第一个有Windows风格(MetropolisUIBlack.vsf),第二个有Android风格(AndroidLight.fsf)

在表单创建中,我编写了以下代码

procedure TMainForm.FormCreate(Sender: TObject);
begin
  {$IFDEF  MSWINDOWS}
    Self.StyleBook := WinStyle;
  {$ENDIF}
  {$IFDEF  ANDROID}
    Self.StyleBook := DroidStyle;
  {$ENDIF}
end;
问题是,如果在设计时选择了Android风格,并且我在Windows上运行应用程序,我会收到以下消息

您选择的样式不适用于当前选定的样式 目标平台。您可以选择自定义样式或删除样式簿 允许FireMonkey在运行时自动加载本机样式



如何根据平台设置样式表,而不管我在表单设计中选择了什么?

您可以为同一样式表中的每个平台指定默认的特定于平台的样式表

您可以通过双击打开样式簿编辑器的样式簿图标来实现这一点

然后在样式编辑器中,单击
Platform
下拉列表附近的
PLUS
按钮以添加所需的平台


在这之后,只需切换到所需的平台,并选择要用于它的样式。

据我所知,最新版本的Delphi StyleBook的设计方式是,它自动检测正在哪个平台上运行,然后选择适当的样式。你不需要按照代码来做这件事。