如何在 Firemonkey 中像 iOS 那样滑动控件?
我在表单中有一个控件。当事件发生时,它会在其顶部显示另一个控件,然后它会消失并显示第一个控件。
我希望有一个平滑的“滑入/滑出”动画,就像 iOS 中常见的那样,而不是出现/消失。
我看到 firemonkey 有一些动画组件,但不知道如何使用它们。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
查看 TFMXObject.AnimateXXX 函数: http://docwiki.embarcadero.com/Libraries /en/FMX.Types.TFmxObject_Functions(TFMXObject 是所有 FireMonkey 控件的父级,因此您可以将这些函数用于任何 控制)。
使用 AnimateFloat 的一些示例:
AnimateFloat 可以对任何浮点属性进行动画处理。第一个参数是属性名称(作为字符串),第二个参数是结束值,接下来是时间段(以秒为单位),动画的方向(atIn,AtOut),最后是要使用的算法 - 请参阅 http://docwiki.embarcadero.com/Libraries/en/FMX.Types.TInterpolationType 了解所有选项。
您还获得:
AnimateColor(为颜色属性设置动画);
AnimateFloatDelay(在给定的延迟后开始动画);
AnimateFloatWait(等待动画完成 - 对于链接动画很有用)。
另外,StartAnimation 和 StopAnimation 用于某种样式的动画。
Look at the TFMXObject.AnimateXXX functions: http://docwiki.embarcadero.com/Libraries/en/FMX.Types.TFmxObject_Functions (TFMXObject is a parent of all FireMonkey controls, so you can use these functions for any control).
A few samples using AnimateFloat:
AnimateFloat animates any floating point property. First parameter is the property name (as a string), second the ending value, next the time period (in seconds), which direction to animate (atIn, AtOut), and finally the algorithm to use - see http://docwiki.embarcadero.com/Libraries/en/FMX.Types.TInterpolationType for all the options.
You also got:
AnimateColor (animate a color property);
AnimateFloatDelay (start an animation after a given delay);
AnimateFloatWait (wait until the animation finished - useful for chaining animations).
plus, StartAnimation and StopAnimation for use with animations in a style.
绝对地!
http://docwiki.embarcadero.com/RADStudio/en/FireMonkey_Image_Effects
尽管有这个名字,这些效果也适用于控件,而不仅仅是位图。
另请查看提供的示例项目(shadereffects)
Absolutely!
http://docwiki.embarcadero.com/RADStudio/en/FireMonkey_Image_Effects
Despite the name, these effects apply to controls too, not just bitmaps.
Also check out the sample projects supplied (shadereffects)
是的,使用动画功能。
我已经构建了类似的东西,动画 TPanel。我从屏幕外的 Position.X 属性开始,并使用类似以下内容将面板动画化到视图中,其中 Self 是表单:
在表单的 OnResize 事件中:
Yes, use the animation functions.
I've built something like this, animating TPanel. I start with the Position.X property off screen and animate the panel into view with something like this, where Self is the form:
In the form's OnResize event: