我想知道是否可以实现一个自定义按钮(在使用RADstudio开发的FMX应用程序中),其行为类似于Android浮动按钮。
答案 0 :(得分:1)
已更新:此外,您可以将SpeedButton与该圆形图像一起使用,因此可以跳过下面的一些例程。
使用按钮准备png图像(最好以3个比例缩放3幅图像)。
Scale 1 = 56x56
Scale 2 = 112x112
Scale 3 = 168x168
将其放置在TImageList中(通常在全局Datamodule中),将您的图像添加到列表中,并将3比例因子添加到源图像中(双击ImageList中“图像源”列表中的项目),因此TImageList中的一个图像将具有3个比例因子。 将TGlyph放在表单上,然后在其中选择图像列表。
在表单OnCreate中设置OnClick事件(因为默认情况下,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在具有Firemonkey的Android / iOS上使用抗锯齿来绘制Circle +图像+阴影。 http://www.cnblogs.com/onechen https://github.com/rzaripov1990/ZMaterialComponents 但这比简单的图像要慢。