FMX APP SpeedButton 图标的颜色 - 界面设计

做手机 APP 的话,按钮最好是用 TSpeedButton。最常见的用法就是一个界面最顶上左边那个向左的箭头按钮 -- 退出这个界面。

默认的办法是设置这个 TSpeedButton 的 StyleLookup,里面有很多默认的图标,包括向左的箭头。

然后,这个 APP 在安卓下,就是安卓的默认图标;在 iOS 下,就是 iOS 的默认图标。在 Windows 下,它显示 Windows 的默认图标。

在安卓下,这个图标的颜色是深灰色。

如果把这个界面顶部的横条的颜色改为深色,则需要修改这个图标的颜色为浅色。怎么办?

按照 FireMonkey 的标准做法,是自己去定制修改 Style 文件。但是整个 Style 修改一遍,有点麻烦。

不去定制 Style,简单办法有 2 种:

A. 自己做图标图片:

1. 自己做一个图片文件,PNG 格式。这个图片就是我们想要的图标。

2.  拖一个 TImage 到界面上。给这个 Image 加载上述图片。设置这个 Image.StyleName 为 'abcd'。

3. 此工程中,任何一个 SpeedButton,不管在哪个 Frame 还是 Form 里面,设置它的 StyleLookup 为 abcd,这个 SppedButton 的图标就显示为这个 Image 的图标了。

4. 注意:运行期,如果放了图标图片的 Image 所在地 Form 还没被创建,则需要显示这个图标的 SpeedButton 就会无法显示这个图标。

B. 用代码修改图标颜色:

1. 如果你要的图标,默认的 StyleLookup 里面有(设计期下拉 StyleLookup 属性),下拉选择一个图标;

2. SpeedButton2.IconTintColor := $FFFFFFFF; 可以将图标的颜色修改为白色。

-------------------------

SpeedButton 本身的颜色如何修改?

SpeedButton.TintColor := $FF000000; 这样的代码,无法修改其颜色。看起来就是 SpeedButton 对于 TintColor 不支持?或者是有其它什么需要设置才支持?

把一个 SpeedButton 放到一个 ToolBar 上面。然后: ToolBar1.TintColor := $FF000000; 则整个 SpeedButton 的颜色就跟随这个 ToolBar 改变了。

发布了116 篇原创文章 · 获赞 19 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/pcplayer/article/details/81356435