如何创建这样的滑动按钮?

Posted

技术标签:

【中文标题】如何创建这样的滑动按钮?【英文标题】:How to create a swipe button like this? 【发布时间】:2020-12-06 22:17:27 【问题描述】:

我想创建一个双面滑动按钮,在到达终点时提供触觉反馈。图片已附上。

https://i.stack.imgur.com/eIECf.png

【问题讨论】:

【参考方案1】:

这不是一个简单答案的问题,但我会尝试为您提供有关如何实施这样的事情的总体方向:

您需要自己处理按钮上的触摸事件。 类似:

  

          button.setOnTouchListener(new OnTouchListener() 
            
    
                @Override
                public boolean onTouch(View arg0, MotionEvent arg1) 
                
                    switch(event.getAction()) 
                        case MotionEvent.ACTION_DOWN:
                             // touch down code
                             break;
    
                        case MotionEvent.ACTION_MOVE:
                             // touch move code
                             break;
    
                        case MotionEvent.ACTION_UP:   
                            // touch up code
                            break;
                    
                    return false;
                
            );

在onTouch中,你需要做两件事:

    根据用户手指的动作将按钮移动到适当的位置。 为此,您可能应该存储 ACTION_DOWN 的位置,然后在 ACTION_MOVE 中计算相对移动并移动您的按钮以匹配它。 如果您希望您的按钮仅沿某个轴移动,您需要自己计算该轴上的适当位置。

    在 ACTION_UP 中,检查按钮的位置,如果它足够靠近您希望滑动结束的位置,则执行操作

【讨论】:

以上是关于如何创建这样的滑动按钮?的主要内容,如果未能解决你的问题,请参考以下文章

如何在滑动手势识别器函数中找到 UIButton 元素的父元素以构造对象?

滑动以在UICollectionView上显示其他按钮

iOS地图样式配置向上滑动?

如何使用现有 UIPageViewController 的按钮以编程方式滑动视图

是否可以在viewpager android中只创建一个可滑动的视图

如何允许在 UIButtons 上滑动以滚动?