我想知道是否可以实现一个自定义按钮(在使用RADstudio开发的FMX应用程序内),其行为类似于Android浮动按钮。
更新:顺便说一下,您可以将SpeedButton与此圆圈图像一起使用,因此您可以跳过下面的一些例程。
使用按钮准备png图像(3个图像,更好的3个图像)。
Scale 1 = 56x56
Scale 2 = 112x112
Scale 3 = 168x168
将它放在TImageList中(通常在全局数据模块中),在列表中添加图像,并为源图像添加3个比例因子(双击ImageList中“图像源”列表中的项目),因此TImageList中的一个图像将具有3个比例因子。将TGlyph放在表单上,然后在那里选择图像列表。
在Form OnCreate中设置OnClick事件(因为在Object Inspector中,Glyph1默认没有OnClick):
Glyph1.OnClick := Click;
Glyph1.HitTest := true;
在OnClick中添加此代码以进行动画处理:
procedure TForm2.TestClick(Sender: TObject);
begin
TAnimator.AnimateFloatWait(Glyph1, 'Opacity', 0.5, 0.2);
TAnimator.AnimateFloat(Glyph1, 'Opacity', 1, 0.2);
end;
或者您可以使用TImage - 它比上面更容易,代码更少。
此外,您可以使用NativeAPI在Android / iOS上使用Firemonkey在Antialiasing上绘制Circle + image + shadow。 http://www.cnblogs.com/onechen https://github.com/rzaripov1990/ZMaterialComponents但它比简单的图像慢。