我想在我新创建的德尔菲XE8火猴子应用程序中设置状态栏的背景色(和前景色)。对于状态栏,我指的是带有时间和wifi小部件的顶部栏。
我就是找不到。我需要帮助:-)
谢谢你,爱德华
发布于 2015-05-22 12:59:36
窗体的Fill.Color控制工具栏的颜色,该颜色的平均亮度控制文本是白色还是黑色。
边框样式必须为无<>,否则工具栏将被隐藏。
如果您有多个表单,那么使用的表单有点不清楚,但它似乎是在项目文件中自动创建的最后一个表单。
下面是来自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+行为),我还有另一个未回答的问题。
发布于 2015-05-22 12:08:08
参考Harry著的“跨平台开发与Delphi和FireMonkey for Windows & MAC”一书
TStatusbar (一种补偿丢失的“面板”的方法) 在VCL状态栏中,您可以在属性“面板”上或通过“SimpleText”属性显示文本。在FireMonkey状态栏中没有任何排序,没有文本属性。因此,您可以使用状态栏作为容器,在那里,例如,插入标签。 更好的解决方案:只需采取一个TGrid!正如您在下面的屏幕截图中所看到的,我已经在StatusBar中包含了一个TGrid。在TGrid中,我有两个TStringColumns,一个TImageColumn,又一个TStringColumn和一个TProgressColumn。在Objectinspector中,我为TGrid设置了以下内容:
https://stackoverflow.com/questions/30394505
复制相似问题