目录
- 触摸波纹
TouchRippleBehaviorTouchRippleBehavior.ripple_duration_inTouchRippleBehavior.ripple_duration_outTouchRippleBehavior.ripple_fade()TouchRippleBehavior.ripple_fade_from_alphaTouchRippleBehavior.ripple_fade_to_alphaTouchRippleBehavior.ripple_func_inTouchRippleBehavior.ripple_func_outTouchRippleBehavior.ripple_rad_defaultTouchRippleBehavior.ripple_scaleTouchRippleBehavior.ripple_show()
TouchRippleButtonBehavior
触摸波纹¶
在 1.10.1 版本加入.
警告
此代码仍处于实验阶段,其API在未来的版本中可能会有所变动。
该模块包含一些`mixin <https://en.wikipedia.org/wiki/Mixin>`_类,用于为控件添加源自`Google Material Design <https://en.wikipedia.org/wiki/Material_Design>_`的触摸涟漪视觉效果。
关于行为的概述,请参阅 behaviors 文档。
类 TouchRippleBehavior 提供了涟漪动画的渲染功能。
类 TouchRippleButtonBehavior 基本上提供了与 ButtonBehavior 相同的功能,但渲染的是涟漪动画,而非默认的按下/释放可视化效果。
- class kivy.uix.behaviors.touchripple.TouchRippleBehavior(**kwargs)[源代码]¶
基类:
object触摸波纹行为。
应作为mixin用于widget类上。
涟漪效果不会自动触发,具体实现需要手动调用
ripple_show()和ripple_fade()。示例¶
这里我们创建了一个Label,用于在交互时渲染触摸波纹动画::
class RippleLabel(TouchRippleBehavior, Label): def __init__(self, **kwargs): super(RippleLabel, self).__init__(**kwargs) def on_touch_down(self, touch): collide_point = self.collide_point(touch.x, touch.y) if collide_point: touch.grab(self) self.ripple_show(touch) return True return False def on_touch_up(self, touch): if touch.grab_current is self: touch.ungrab(self) self.ripple_fade() return True return False
- ripple_duration_in¶
显示遮罩层所需的动画持续时间。
ripple_duration_in是一个NumericProperty,默认值为 0.5。
- ripple_duration_out¶
覆盖层淡入淡出所需的动画持续时间。
ripple_duration_out是一个NumericProperty,默认值为 0.2。
- ripple_fade_from_alpha¶
波纹颜色动画起始时的Alpha通道。
ripple_fade_from_alpha是一个NumericProperty,默认值为 0.5。
- ripple_fade_to_alpha¶
涟漪颜色动画所针对的Alpha通道。
ripple_fade_to_alpha是一个NumericProperty,默认值为 0.8。
- ripple_func_in¶
显示覆盖层的动画回调。
ripple_func_in是一个StringProperty,默认值为 in_cubic。
- ripple_func_out¶
隐藏覆盖层的动画回调。
ripple_func_out是一个StringProperty,默认值为 out_quad。
- ripple_rad_default¶
动画开始的默认半径。
ripple_rad_default是一个NumericProperty,默认值为 10。
- ripple_scale¶
动画叠加层的最大缩放比例,根据装饰控件的最大(宽度/高度)计算得出。
ripple_scale是一个NumericProperty,默认值为 2.0。
- class kivy.uix.behaviors.touchripple.TouchRippleButtonBehavior(**kwargs)[源代码]¶
-
这个 mixin 类提供了与
ButtonBehavior类似的行为,但以触摸涟漪动画替代按钮按下/释放作为视觉效果。- 事件:
- on_press
当按钮被按下时触发。
- on_release
当按钮被释放时触发(即按下按钮的触摸/点击消失)。
- always_release¶
此属性决定当触摸释放(touch_up)发生在控件外部时,该控件是否触发 on_release 事件。
always_release是一个BooleanProperty,默认值为 False。
- last_touch¶
包含按钮接收到的最后一个相关触摸。这可以在`on_press`或`on_release`中使用,以了解是哪个触摸触发了该事件。
last_touch是一个ObjectProperty,默认值为 None。