Android - Gesture Detection (Swipe up/down) on particular view
Do this in your onCreate
method.
findViewById(R.id.tvOne).setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event){ return gestureScanner.onTouchEvent(event); } });
You can set OnTouchListener
s to individual TextView
s.
findViewById(R.id.tvOne).setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent event) { // Your code here }}
A suggestion
If you don't want to detect all gesture,try this class:SimpleGestureListener created by myself.
Now here are some snippets for this class's usage.
Usage
public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; private GestureDetector mDetector; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SimpleGestureListener simpleGestureListener = new SimpleGestureListener(); simpleGestureListener.setListener(new SimpleGestureListener.Listener() { @Override public void onScrollHorizontal(float dx) { Log.i(TAG,"horizontal = " +dx); } @Override public void onScrollVertical(float dy) { Log.i(TAG,"vertical = " +dy); } }); mDetector = new GestureDetector(this, simpleGestureListener); } @Override public boolean onTouchEvent(MotionEvent event) { mDetector.onTouchEvent(event); return super.onTouchEvent(event); }}
It can be used for detecting swiping gesture :
- left or right
- up or down