2015-10-10 2 views
1

Comment déplacer l'image de droite à gauche lors du zoom? J'ai fait un zoom sur les images et maintenant je ne sais pas quels codes écrire pour créer un mouvement en utilisant le doigt une fois qu'il a fait un zoom.Déplacez l'image vers la gauche et la droite lors de l'agrandissement

S'il vous plaît jeter un oeil à mon code et donnez-moi votre précieuse réponse. Editez mon code si possible. Merci d'avance.

MainActivity.java

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.view.View; 
import android.widget.ImageView; 
import android.widget.RelativeLayout; 
import android.widget.ZoomControls; 

public class MainActivity extends Activity { 

    ImageView img; 
    ZoomControls zoom; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     img = (ImageView) findViewById(R.id.imageView1); 
     zoom = (ZoomControls) findViewById(R.id.zoomControls1); 

     zoom.setOnZoomInClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      int w = img.getWidth(); 
      int h = img.getHeight(); 

      RelativeLayout.LayoutParams params = 
       new RelativeLayout.LayoutParams(w + 10, h +10); 
      params.addRule(RelativeLayout.CENTER_IN_PARENT); 

      img.setLayoutParams(params); 
     } 
    }); 

     zoom.setOnZoomOutClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      int w = img.getWidth(); 
      int h = img.getHeight(); 

      RelativeLayout.LayoutParams params = 
       new RelativeLayout.LayoutParams(w - 10, h -10); 
      params.addRule(RelativeLayout.CENTER_IN_PARENT); 

      img.setLayoutParams(params); 
     } 
    }); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.activity_main, menu); 
     return true; 
    } 
} 

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_centerVertical="true" 
    android:src="@drawable/ic_launcher" /> 

<ZoomControls 
    android:id="@+id/zoomControls1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginBottom="50dp" /> 

+1

Juste pour avoir une image plus claire ... vous voulez réaliser ceci par vous-même? Depuis que j'ai utilisé de très bonnes bibliothèques qui traitent cela pour vous –

+0

Je ne sais pas comment dépasser encore plus avec le codage. S'il vous plaît aidez-moi, j'ai besoin de mon application? –

Répondre

1

Essayez cette library..it facile à mettre en œuvre et fonctionne parfaitement

Image Zoom Library