2010-07-08 5 views
4

Je dois réaliser cela le défilement tactile sur le ViewFlipper. Par exemple. J'ai deux images. Au début, ViewFlipper montre une première image. Maintenant, j'ai jeté la vue de droite à gauche. La vue Première image Sortir à gauche et la deuxième diapositive à partir de la gauche. Je peux y arriver Par Post. Mais je veux faire défiler l'image. Autrement dit, sur l'événement Action_Move je veux faire défiler Touch. Par exemple, quand je bouge le toucher de droite à gauche, il jette combien le toucher bouge. à ce moment, la sortie devrait montrer les deux images en partie.Touch Faites défiler sur View Flipper dans Android?

Comment faire cela? Ce que j'ai à mesurer les niveaux de l'écran (hauteur & largeur). Les exemples de codes sont plus utiles.

Répondre

0

Si vous avez besoin pour détecter défilement uniquement viewflipper qui n'occupe tout l'écran, essayez le dessous

gestureDetector = new GestureDetector(new MyGestureDetector()); 

viewFlipper.setOnTouchListener(new View.OnTouchListener() { 

     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      if (gestureDetector.onTouchEvent(event)) { 
       return false; 
      } 
      return true; 
     } 
    }); 

et MyGestureDetector sera le même que dans http://www.codeshogun.com/blog/2009/04/16/how-to-implement-swipe-action-in-android/

1
package com.appaapps.flipper; 

import android.app.Activity; 
import android.content.Context; 
import android.graphics.*; 
import android.os.Bundle; 
import android.view.MotionEvent; 
import android.view.View; 
import android.widget.ViewFlipper; 
//------------------------------------------------------------------------------ 
// Flipper - Philip R Brenan at gmail.com 
//------------------------------------------------------------------------------ 
public class FlipperActivity extends Activity { 
    ViewFlipper f; 
    DrawView a, b, c; 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     f = new ViewFlipper(this); 
     a = new DrawView(this, "aaaaa"); 
     b = new DrawView(this, "BBBBB"); 
     c = new DrawView(this, "ccccc"); 
     f.addView(a); 
     f.addView(b); 
     f.addView(c); 
     setContentView(f); 
    } 
    //------------------------------------------------------------------------------ 
    // Draw 
    //------------------------------------------------------------------------------ 
    class DrawView extends View implements View.OnTouchListener { 
     final String text; 
     DrawView(Context Context, String Text) { 
      super(Context); 
      text = Text; 
      setOnTouchListener(this); 
     } 
     public void onDraw(Canvas Canvas) { 
      super.onDraw(Canvas); 
      Paint p = new Paint(); 
      p.setColor(0xffffffff); 
      p.setTextSize(20); 
      Canvas.drawText(text, 0, 20, p); 
     } 
     public boolean onTouch(View v, MotionEvent event) { 
      final int a = event.getAction(); 
      if (a == MotionEvent.ACTION_DOWN) { 
       final int i = f.getDisplayedChild(), n = f.getChildCount(); 
       f.setDisplayedChild((i + 1) % n); 
      } 
      return true; 
     } 
    } 
} 
Questions connexes