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

Java 如何创建这样的滑动按钮?,java,android,xml,user-interface,layout,Java,Android,Xml,User Interface,Layout,我想创建一个双面滑动按钮,在到达终点时提供触觉反馈。图像已附加 这不是一个答案简单的问题,但我会尝试为您提供一个大致的指导,告诉您如何着手实施以下内容: 您需要自己处理按钮上的触摸事件。 比如: button.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View

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


这不是一个答案简单的问题,但我会尝试为您提供一个大致的指导,告诉您如何着手实施以下内容:

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

  

          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中,您需要做两件事:

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

  • 在“动作向上”中,检查按钮的位置,如果按钮距离您希望滑动结束的位置足够近,则执行该动作