我想在新创建的Delphi XE8 Firemonkey应用程序中设置状态栏的背景颜色(和前景色)。使用状态栏我的意思是带有时间和wifi小部件的顶部栏。
我找不到它。我需要一些帮助: - )
谢谢, 爱德华
答案 0 :(得分:0)
Harry Stahl撰写的“使用Delphi XE7和FireMonkey for Windows& MAC OS X进行跨平台开发”一书的推荐
TStatusbar(一种补偿缺失的“面板”的方法)
在VCL中 状态栏您可以在属性“面板”上显示文本 通过“SimpleText”属性。在FireMonkey状态栏中有 什么都没有,没有文字属性。所以你可以使用状态栏 作为容器,例如,插入标签。
更好的解决方案: 只需要一个TGrid!正如您在下面显示的屏幕截图中看到的那样,我 已经包含在StatusBar中的TGrid。在TGrid我有2 TStringColumns,一个TImageColumn,同样是一个TStringColumn和一个 TProgressColumn补充道。在Objectinspector中,我已经设置了 TGrid:
答案 1 :(得分:0)
表单的Fill.Color控制工具栏的颜色,此颜色的平均亮度控制文本是白色还是黑色
Borderstyle必须是<>无,否则工具栏将被隐藏。
如果你有多个表单,有点不清楚使用什么表单,但似乎它是你的项目文件中自动创建的最后一个表单。
以下是来自FMX.Platform.iOS.pas
的一些相关源代码,用于记录文本的颜色:
procedure TPlatformCocoaTouch.UpdateStatusBarColor(const AForm: TCommonCustomForm);
...
AppDelegate.MainWindow.RootViewController.SetStatusBarBackgroundColor((AForm as TCustomForm).Fill.Color);
...
procedure TFMXViewController.SetStatusBarBackgroundColor(const ABackgroundColor: TAlphaColor);
...
FStatusBarLuminance := Luminance(ABackgroundColor);
...
function TFMXViewController.preferredStatusBarStyle: UIStatusBarStyle;
begin
if FStatusBarLuminance < 0.5 then
Result := UIStatusBarStyleLightContent
else
Result := UIStatusBarStyleDefault;
end;
PS。我还有另一个未解答的问题,关于如何make the statusbar transparent,这是本机iOS 7+行为。