繁体   English   中英

如何处理左右滑动

[英]how to handle left and right swipe

我有一个列表视图,其中包含联系电话。

我希望当用户在某个联系人上执行leftswipe(向左交换)时,该应用将开始呼叫该联系人。

我想知道如何处理/检测联系人上的向左滑动和向右滑动,以及如何检测在列表视图上滑动事件的哪个项目上执行。

谢谢

有一个关于在Android中处理手势的教程。 核实!!

使用onFling()方法检测滑动,并且考虑到检测到针对它的微粒列表的滑动,您将必须提供自己的adapter并覆盖其getView()方法。
例如

public class My_simple_adapter extends ArrayAdapter<String> //THIS IS THE CUSTOM ADAPTER
{
 private final Context context;
 private final String[] values;

 public My_simple_adapter(Context context,String[] values,int[] pos)
 {
  super(context,R.layout.list_item,values);
  this.context=context;
  this.values=values;

 }

 @Override
 public View getView(int position,View convert_view,ViewGroup parent)
 {
  LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  View rowView = inflater.inflate(R.layout.MY_LAYTOUT, parent, false);
   // THE ABOVE MY_LAYOUT IS THE LAYOUT YOU WANT TO LOAD FOR EACH ROW OF THE LISTVIEW
  TextView textView = (TextView) rowView.findViewById(R.id.tv1);
  textView.setText(values[position]);

  //SUPPOSE rlt IS THE ID OF THE ABOVE MY_LAYOUT
  //then
  rlt.setOnTouchListener(new View.OnTouchListener()
         {
                public boolean onTouch(View view, MotionEvent event) {
                    Log.d("test", "clicked!");
                    if(gestureDetector.onTouchEvent(event))  {
                        Log.d("test", "gesture detected");
                        return true;
                    }

                    return false;
                }
            });

  return  rowView;
 }
} 


这是gestureDetector

 SimpleOnGestureListener simpleOnGestureListener
       = new SimpleOnGestureListener(){
  @Override
     public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
       float velocityY) {
                boolean result;
              //DECIDE UNDER WHAT SPEED OF SWIPING U WANT TO MAKE THE CALL
                ...
                ...
           return result;
     }

  @Override
  public boolean onDown(MotionEvent e)
  {

     return true;
  }

       };
//AND FINALLY

    final GestureDetector gestureDetector
           = new GestureDetector(simpleOnGestureListener);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM