×

Welcome to TagMyCode

Please login or create account to add a snippet.
1
0
 
0
Language: Java
Posted by: Hafiz Waleed Hussain
Added: Jul 21, 2013 1:51 PM
Views: 1282
Here i am writing code about how to detect gesture. And also give the code in which we start new activity on the basis of Gesture with Animations.
You can get anim files code at the end of the code snippet.
  1. public class HomeActivity extends Activity {
  2.  
  3.         private RelativeLayout mParentLayout = null;
  4.  
  5.         @Override
  6.         protected void onCreate(Bundle savedInstanceState) {
  7.                 super.onCreate(savedInstanceState);
  8.                 setContentView(R.layout.activity_main);
  9.                 mParentLayout = (RelativeLayout) findViewById(R.id.HomeActivity_parent);
  10.  
  11.                 mParentLayout.setOnClickListener(new OnClickListener() {
  12.  
  13.                         @Override
  14.                         public void onClick(View v) {
  15.                                
  16.  
  17.                         }
  18.                 });
  19.  
  20.                 mParentLayout.setOnTouchListener(new OnSwipeTouchListener() {
  21.  
  22.                         @Override
  23.                         public boolean onSwipeLeft() {
  24.                                 return true;
  25.                         }
  26.  
  27.                         @Override
  28.                         public boolean onSwipeRight() {
  29.                                 Intent intent = new Intent(HomeActivity.this,NextActivity.class);
  30.                                 startActivity(intent);
  31.                                 overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right);
  32.                                 return true;
  33.                         }
  34.  
  35.                         @Override
  36.                         public boolean onSwipeBottom() {
  37.                                 // TODO Auto-generated method stub
  38.                                 return true;
  39.                         }
  40.                         @Override
  41.                         public boolean onSwipeTop() {
  42.                                 // TODO Auto-generated method stub
  43.                                 return true;
  44.                         }
  45.  
  46.                 });
  47.         }
  48. }
  49.  
  50. // New Gesture class
  51. public class OnSwipeTouchListener implements OnTouchListener {
  52.  
  53.         private final GestureDetector gestureDetector = new GestureDetector(
  54.                         new GestureListener());
  55.  
  56.         public boolean onTouch(final View v, final MotionEvent event) {
  57.                 return gestureDetector.onTouchEvent(event);
  58.         }
  59.  
  60.         private final class GestureListener extends SimpleOnGestureListener {
  61.  
  62.                 private static final int SWIPE_THRESHOLD = 100;
  63.                 private static final int SWIPE_VELOCITY_THRESHOLD = 100;
  64.  
  65.                 @Override
  66.                 public boolean onDown(MotionEvent e) {
  67.                         return super.onDown(e);
  68.                 }
  69.  
  70.                 @Override
  71.                 public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
  72.                                 float velocityY) {
  73.                         boolean result = false;
  74.                         try {
  75.                                 float diffY = e2.getY() - e1.getY();
  76.                                 float diffX = e2.getX() - e1.getX();
  77.                                 if (Math.abs(diffX) > Math.abs(diffY)) {
  78.                                         if (Math.abs(diffX) > SWIPE_THRESHOLD
  79.                                                         && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) {
  80.                                                 if (diffX > 0) {
  81.                                                         result = onSwipeRight();
  82.                                                 } else {
  83.                                                         result = onSwipeLeft();
  84.                                                 }
  85.                                         }
  86.                                 } else {
  87.                                         if (Math.abs(diffY) > SWIPE_THRESHOLD
  88.                                                         && Math.abs(velocityY) > SWIPE_VELOCITY_THRESHOLD) {
  89.                                                 if (diffY > 0) {
  90.                                                         result = onSwipeBottom();
  91.                                                 } else {
  92.                                                         result = onSwipeTop();
  93.                                                 }
  94.                                         }
  95.                                 }
  96.                         } catch (Exception exception) {
  97.                                 exception.printStackTrace();
  98.                         }
  99.                         return result;
  100.                 }
  101.         }
  102.  
  103.         public boolean onSwipeRight() {
  104.                 return false;
  105.         }
  106.  
  107.         public boolean onSwipeLeft() {
  108.                 return false;
  109.         }
  110.  
  111.         public boolean onSwipeTop() {
  112.                 return false;
  113.         }
  114.  
  115.         public boolean onSwipeBottom() {
  116.                 return false;
  117.         }
  118. }
  119.  
  120. // Complete now the anim files. These are xml.
  121. 1. slide_in_left
  122. <set xmlns:android="http://schemas.android.com/apk/res/android"
  123.     android:shareInterpolator="false" >
  124.  
  125.     <translate
  126.         android:duration="200"
  127.         android:fromXDelta="-100%"
  128.         android:fromYDelta="0%"
  129.         android:toXDelta="0%"
  130.         android:toYDelta="0%" />
  131.  
  132. </set>
  133.  
  134. 2. slide_in_right.xml
  135. <set xmlns:android="http://schemas.android.com/apk/res/android"
  136.     android:shareInterpolator="false" >
  137.  
  138.     <translate
  139.         android:duration="200"
  140.         android:fromXDelta="100%"
  141.         android:fromYDelta="0%"
  142.         android:toXDelta="0%"
  143.         android:toYDelta="0%" />
  144.  
  145. </set>
  146.  
  147. 3. slide_out_left.xml
  148. <set xmlns:android="http://schemas.android.com/apk/res/android"
  149.     android:shareInterpolator="false" >
  150.  
  151.     <translate
  152.         android:duration="200"
  153.         android:fromXDelta="0%"
  154.         android:fromYDelta="0%"
  155.         android:toXDelta="-100%"
  156.         android:toYDelta="0%" />
  157.  
  158. </set>
  159.  
  160. 4. slide_out_right.xml
  161. <set xmlns:android="http://schemas.android.com/apk/res/android"
  162.     android:shareInterpolator="false" >
  163.  
  164.     <translate
  165.         android:duration="200"
  166.         android:fromXDelta="0%"
  167.         android:fromYDelta="0%"
  168.         android:toXDelta="100%"
  169.         android:toYDelta="0%" />
  170.  
  171. </set>

1 comment

Rajiv Nanda 3 years ago
this code shows a lot of errors...will you please upload your entire coding or zip project.??
my mail id is rajivnanda@live.com
pls pls send the project quickly...i need this.

Write a comment