PhotoView实现放大缩小功能

来源:互联网 发布:excel将数据分成多列 编辑:程序博客网 时间:2024/05/16 12:47
 compile 'com.github.chrisbanes.photoview:library:1.2.4'


布局文件:在mainactivity中

<com.bway.photoview.HakViewPager
        Android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

为了避免冲突需要重写viewpager中的方法

public class HakViewPager extends ViewPager {
    public HakViewPager(Context context) {
        super(context);
    }

    public HakViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        try {
            return super.onInterceptTouchEvent(ev);
        } catch (IllegalArgumentException e) {
            return false;
        }
    }
}

在mainactivity中引用

public class MainActivity extends AppCompatActivity {

    private HakViewPager hvpPhoto;
    private List<String> images;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        hvpPhoto = (HakViewPager) findViewById(R.id.viewpager);
        images = new ArrayList<>();
        images.add("http://pic.58pic.com/58pic/14/27/45/71r58PICmDM_1024.jpg 

");
        images.add("http://pic17.nipic.com/20111122/6759425_152002413138_2.jpg 

");
        images.add("http://pic10.nipic.com/20100929/4308872_150108084472_2.jpg 

");

        hvpPhoto.setAdapter(new PagerAdapter() {
            @Override
            public Object instantiateItem(ViewGroup Container, int position) {
                PhotoView photoView = new PhotoView(container.getContext());
                Glide.with(container.getContext()).load(images.get(position))
                        .into(photoView);
                container.addView(photoView);
                return photoView;
            }

            @Override
            public void destroyItem(ViewGroup container, int position, Object object) {
                container.removeView((View) object);
            }

            @Override
            public int getCount() {
                return images.size();
            }

            @Override
            public boolean isViewFromObject(View view, Object object) {
                return view == object;
            }
        });
    }
}
原创粉丝点击