【问题标题】:Delphi XE5 Android TButton colorsDelphi XE5 Android TButton 颜色
【发布时间】:2014-04-15 06:59:02
【问题描述】:

我需要以一种形式更改 50 个按钮的颜色。 每个按钮另一种颜色和颜色要通过代码设置(没有设计编辑器)。

它是firemonkey移动应用程序。

【问题讨论】:

  • 是什么让你不这样做,你的问题是什么?到目前为止,您尝试过什么?

标签: delphi button colors firemonkey


【解决方案1】:

在我看来,如果不制作自己的不完全使用 FMX 样式的按钮(如果您希望使用其原生样式支持多个平台,这会破坏多平台兼容性),您可以在每个按钮的顶部应用一些过滤器在这些按钮中,但在某些样式上,这可能会导致文本不可见,实现您自己的过滤器可能会获得所需的结果:

Effect:=TFillRGBEffect.Create(Self);
Effect.Color:=$80FF0000;
Effect.Parent:=SomeButton;

另一种方法是利用TColorButton 和TText 在它上面,但是这样整个按钮不会被你的颜色填充,但是你可以修改每个平台的默认/自定义样式为了得到你需要的东西(这确实需要在设计器中完成,但你必须为需要支持的每个平台创建一种样式,而不是为每个按钮创建 50 个样式):

Button:=TColorButton.Create(Self);
Button.Color:=$80FF0000;
Text:=TText.Create(Button);
Text.Parent:=Button;
Text.Align:=TAlignLayout.alClient;
Text.Text:='Hello';
Text.HitTest:=false;
Button.ClipChildren:=true;
Button.Parent:=Self;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-05
    相关资源
    最近更新 更多