Android 上更改 Firemonkey 按钮按下颜色的简单方法

Easy way to change Firemonkey button pressed color on Android

这可能是那些拍脑门的问题之一,但我想做的是让我的按钮在按下时显示橙色 (xFFFCB447),就像 Android 对话框一样。 (例如选择列表)

在默认样式中似乎没有特定的 "pressed" TRectangle,我添加不同的 TRectangle(适当着色似乎也没有做到),所以我唯一的选择似乎是使用位图样式设计器导出 style.png;希望我弄清楚明天下午之前按下的按钮使用了图像的哪一部分,然后再次更新图像。

没有easier/quicker的方法吗?

选项 A) 在您的按钮上放置一个 TRectangle。将其设置为与内容对齐。将其填充颜色设置为橙色。将它的不透明度设置为 0.50。将它的 HitTest 设置为 False。将其可见设置为 False。在 TButton.OnMouseDown 中,将 TRectangle Visible 设置为 True。在 TButton.OnMouseUp 中,将 TRectangle Visible 设置为 False。您还需要设置 TButton 所在控件的 OnMouseMove 以将 TRectangle Visible 设置为 False,这样如果您按下鼠标然后移开它,它也会被隐藏。

选项 B) 在 TButton 上放置一个 TFillRGBEffect。将其设置为橙色。执行与上述相同的操作以启用和禁用鼠标向下和向上的效果。但是,请注意 TFillRGBEffect 可能比 TRectangle 方式慢。

选项 C) 只需使用 TRectangle 而不是 TButton。将 TText 或 TLabel 放入其中作为文本并与内容对齐。在 OnMouseDown 和 OnMouseUp 中更改它的填充颜色。