viewpager实现图片放大缩小

  xlistview监听
    xlistview.setOnItemClickListener(this);
    return convertView;
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
创建集合把图片发送到下一个界面
 final ArrayList<String> str=new ArrayList<String>();
    str.add(list.get(position-1).getThumbnail_pic_s());
    str.add(list.get(position-1).getThumbnail_pic_s02());
    str.add(list.get(position-1).getThumbnail_pic_s03());
    Intent intent=new Intent(getActivity(),PhotoActivity.class);
    intent.putStringArrayListExtra("txt",str);
    startActivity(intent);
}
第二个界面实现放大缩小
public class PhotoActivity extends AppCompatActivity {
    private HackyViewPager viewpager;
    private ArrayList<String> txt;
    private ArrayList<View> list = new ArrayList<>();
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pic);
        viewpager = (HackyViewPager) findViewById(R.id.viewpager1);
        Intent intent = getIntent();
        txt = intent.getStringArrayListExtra("txt");
        ImageOptions options=new ImageOptions.Builder()
                .setUseMemCache(true)
                .setSize(200,200)
                .build();
        PhotoView photoView=new PhotoView(PhotoActivity.this);
        x.image().bind(photoView,txt.get(0),options);
        PhotoView photoView1=new PhotoView(PhotoActivity.this);
        x.image().bind(photoView1,txt.get(1),options);
        PhotoView photoView2=new PhotoView(PhotoActivity.this);
        x.image().bind(photoView2,txt.get(2),options);
        list.add(photoView);
        list.add(photoView1);
        list.add(photoView2);
        myadapter adapter=new myadapter();
        viewpager.setAdapter(adapter);
    }
    class myadapter extends PagerAdapter{
        @Override
        public int getCount() {
            return list.size();
        }
        @Override
        public boolean isViewFromObject(View view, Object object) {
            return view==object;
        }
        @Override
        public void destroyItem(ViewGroup container, int position, Object object) {
            container.removeView(list.get(position));
        }
        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            container.addView(list.get(position));
            return list.get(position);
        }
    }
}
继承Viewpager
public class PhotoViewpager extends ViewPager {
    public PhotoViewpager(Context context) {
        super(context);
    }
    public PhotoViewpager(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    //重写该方法来解决冲突问题  test.bawei.com.tupianosuofang.PhotoViewPager(自定义布局的全名自己//类的名字)
    @Override
    public boolean onInterceptHoverEvent(MotionEvent event) {
        try {
            return super.onInterceptHoverEvent(event);
        }catch (IllegalFormatCodePointException e){
            e.printStackTrace();
            Log.e("TAG", "onInterceptTouchEvent: " );
            return false;
        }
    }
}
 布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <cn.bluemobi.dylan.photoview.HackyViewPager
        android:id="@+id/viewpager1"
        android:layout_width="300dp"
        android:layout_height="200dp">
    </cn.bluemobi.dylan.photoview.HackyViewPager>
</LinearLayout>
需要导photoview包
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值