📜  颤动图标按钮圈 (1)

📅  最后修改于: 2023-12-03 14:58:47.495000             🧑  作者: Mango

颤动图标按钮圈

颤动图标按钮圈是一种在用户触摸它时会产生颤动效果的交互控件。它经常用于提示用户该控件可被点击或为操作提供反馈。

实现方式

在Android中,可以通过以下步骤实现颤动图标按钮圈:

  1. 创建一个AnimatorSet动画集合,包含两个ObjectAnimator动画:

    ObjectAnimator scaleX = ObjectAnimator.ofFloat(view, "scaleX", 1f, 0.9f, 1f);
    ObjectAnimator scaleY = ObjectAnimator.ofFloat(view, "scaleY", 1f, 0.9f, 1f);
    
    AnimatorSet set = new AnimatorSet();
    set.play(scaleX).with(scaleY);
    set.setDuration(100);
    

    上述代码中,scaleXscaleY表示缩放动画,view为要进行动画的控件。

  2. 在控件的onTouch方法中,当用户按下时执行AnimatorSet动画:

    view.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_DOWN) {
                set.start();
            }
            return false;
        }
    });
    

    上述代码中,ACTION_DOWN表示用户按下屏幕。

    代码示例
    ObjectAnimator scaleX = ObjectAnimator.ofFloat(view, "scaleX", 1f, 0.9f, 1f);
    ObjectAnimator scaleY = ObjectAnimator.ofFloat(view, "scaleY", 1f, 0.9f, 1f);
    
    AnimatorSet set = new AnimatorSet();
    set.play(scaleX).with(scaleY);
    set.setDuration(100);
    
    view.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_DOWN) {
                set.start();
            }
            return false;
        }
    });
    
    总结

    颤动图标按钮圈是一种简单易用的控件,可以提升用户体验。该控件的实现方法也比较简单,只需要几行代码即可。使用该控件时,需要注意控件的样式和颜色应与App整体风格一致,避免过于突出或太过平凡。