hlo*_*nzo 3 delphi firemonkey appmethod delphi-xe7
我目前正在使用RAD Studio XE7,并且想知道为什么我的Android应用程序中的所有对话框都使用“旧” 2.x样式?以及如何强制我的Android应用在所有对话框(例如日期选择器和MessageDlg)中使用4.x样式?
使用StyleBook和修改AndroidManifest.xml无效。提前致谢。
David I在Embarcadero Community Answers网站上发布了您相同问题的答案:
我提醒了我们的开发团队,他们在Android助手功能中发现了问题。这是研发部门提供的解决方法:
解决方法非常简单:在
FMX.Helpers.Android此功能中Run Code Online (Sandbox Code Playgroud)function GetNativeTheme: Integer; var LStyleDescriptor: TStyleDescription; begin Result := 0; if not IsGingerbreadDevice and (Screen <> nil) and (Screen.ActiveForm <> nil) and (Screen.ActiveForm.StyleBook <> nil) then begin LStyleDescriptor := TStyleManager.FindStyleDescriptor(Screen.ActiveForm.StyleBook.Style); // GetThemeFromDescriptor(LStyleDescriptor); Result := GetThemeFromDescriptor(LStyleDescriptor); // <--here the result assignment was missing end; end;
以下是Embarcadero博客文章,解释了如何应用此修复程序:
在FMX.Helpers.Android.pas单元中,您需要修改GetNativeTheme函数...您将在“ C:\ Program Files(x86)\ Embarcadero \ Studio \ 15.0 \ source \ fmx”中找到原始源代码单元。 ”文件夹。将“ FMX.Helpers.Android.pas”源文件复制到您的项目中,并修改该行以设置返回结果。将源文件添加到IDE中的项目中。生成您的应用程序,并查看Android KitKat设备上的现代对话框。