【问题描述】
如果目标平台为 Android,设置了一个窗口的 Transparency 为 True,则后面再 Show 出来的窗口会在它的后面,而不管你如何调用 BringToFront 还设置设置 FormStyle 为 StayOnTop。至于 Windows 平台没这个问题,而 iOS 和 OSX 平台我没有测试
【测试平台】
Delphi XE8
【重现步骤】
1、创建三个窗口,假设分别是Form1、Form2、Form3,我们在 Form1 上放置一个 Button,在点击时显示 Form2,在 Form2 上放置一个按钮,在点击时显示 Form3。
2、设置 Form2 的 Transparency 属性为 True。
3、编译并运行程序。
4、点击 Form2 上的 Button 时 ,Form3 并没有推送到前台,而是位于 Form2 后面,被 Form2 遮住了倍分内容,Bug出现,但不影响 Form3 上的东西响应。也就是说,此时 FMX 的渲染顺序和实际的 ZOrder 不一致了。
【解决办法】
将 Form2 的 Transparency 属性设置回 False。