2011-06-22 10 views
0

私はこのコードを持っていますが、正常に動作していますが、画像の変更やズームイン、ズームアウトのためにタッチイベントを追加したいのですが... これは私のコードです:タッチイベントon image switcher

package com.conn; 

import android.app.Activity; 
import android.content.Context; 
import android.os.Bundle; 
import android.view.View; 
import android.view.ViewGroup; 
import android.view.ViewGroup.LayoutParams; 
import android.view.animation.AnimationUtils; 
import android.widget.AdapterView; 
import android.widget.BaseAdapter; 
import android.widget.Gallery; 
import android.widget.ImageSwitcher; 
import android.widget.ImageView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.ViewSwitcher.ViewFactory; 

public class image_slider extends Activity implements ViewFactory { 

    Integer pics[] = { R.drawable.a, R.drawable.b, R.drawable.c, R.drawable.d, 
      R.drawable.e }; 

    ImageSwitcher iSwitcher; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     iSwitcher = (ImageSwitcher) findViewById(R.id.ImageSwitcher01); 
     iSwitcher.setFactory(this); 
     iSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, 
       android.R.anim.fade_in)); 
     iSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, 
       android.R.anim.fade_out)); 

     Gallery gallery = (Gallery) findViewById(R.id.Gallery01); 
     gallery.setAdapter(new ImageAdapter(this)); 
     gallery.setOnItemClickListener(new OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
        long arg3) { 
       iSwitcher.setImageResource(pics[arg2]); 
      } 
     }); 
    } 

    public class ImageAdapter extends BaseAdapter { 

     private Context ctx; 

     public ImageAdapter(Context c) { 
      ctx = c; 
     } 

     @Override 
     public int getCount() { 

      return pics.length; 
     } 

     @Override 
     public Object getItem(int arg0) { 

      return arg0; 
     } 

     @Override 
     public long getItemId(int arg0) { 

      return arg0; 
     } 

     @Override 
     public View getView(int arg0, View arg1, ViewGroup arg2) { 

      ImageView iView = new ImageView(ctx); 
      iView.setImageResource(pics[arg0]); 
      iView.setScaleType(ImageView.ScaleType.FIT_XY); 
      iView.setLayoutParams(new Gallery.LayoutParams(150, 150)); 
      return iView; 
     } 

    } 

    @Override 
    public View makeView() { 
     ImageView iView = new ImageView(this); 
     iView.setScaleType(ImageView.ScaleType.FIT_CENTER); 
     iView.setLayoutParams(new 
       ImageSwitcher.LayoutParams(
         LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT)); 
     iView.setBackgroundColor(0xFF000000); 
     return iView; 
    } 
} 

答えて

0

あなたが必要とするすべての機能があります。

PinchZooming

http://code.google.com/p/android-pinch/wiki/PinchImageView http://blog.sephiroth.it/2011/04/04/imageview-zoom-and-scroll/

つの指ズーム

http://blogs.sonyericsson.com/wp/2010/05/18/android-one-finger-zoom-tutorial-part-1/

これが役立つことを願っています。

私が代わりにここにImageView..soシンプル

チェックこのうちのこのPinchImageViewを使用...あなたのニーズごとにクラスを変更している...のhttp://pastebin.com/eRH2D2nF

感謝.. ギリ

+0

本当に役に立たなかったのですが...私のコードで編集することでそれらのことを実現できますか? – sunny

+0

私の最新のans.itsにあなたのリンク –

+0

のように変更されたコードのリンクがあることを確認してください。それはとてもシンプルかもしれませんが、私のような新しいユーザーにとっては、やや難しい仕事です... ...私のコードを編集してそれを修正することはできますか?初心者として理解するのは簡単です..... – sunny