Suggest a feature
×

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: 1822
  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 5 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