zoukankan      html  css  js  c++  java
  • PhotoView实现图片随手势的放大缩小的效果

    项目需求:在listView的条目中如果有图片,点击条目,实现图片的放大,并且图片可以根据手势来控制图片放大缩小的比例。类似于微信朋友圈中查看好友发布的照片所实现的效果。

    思路是这样的:当点击条目的时候触发listview的点击事件,跳转到另一个页面,在页面中自定义一个ImageView来实现图片的随手势的放大。但是点击图片来实现图片消失这一点这块小弟不会做,并且图片随手势的放大效果并不好。所幸的是最中找到了photoview这一个控件。使用photoView控件需要使用jar包:发现博客园不能上传jar,有需要的可以私信我:邮箱 chenruiyt@163.com

    下面简单说一下photoview的用法。非常简单幺

    在布局文件中添加photoview控件:

      <uk.co.senab.photoview.PhotoView
            android:id="@+id/img_showimgview"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            />

    主界面中:

    photoview = (PhotoView) findViewById(R.id.img_showimgview);
    
    photoview.setImageBitmap(bit);

    photoview的点击事件的监听:

    photoview.setOnPhotoTapListener(new OnPhotoTapListener() {
                
                @Override
                public void onPhotoTap(View view, float x, float y) {
                    // TODO Auto-generated method stub
                    finish();
                    
                }
            });

    在实现项目的需求的过程中,遇到了图片失真的问题,下面说一下图片失真的原因:

    起初的实现方法是这样的:

    在点击listview的条目的时候获取到imageView中的图片,在实现页面跳转的时候将图像对象传递到下一个页面

    获取ImageView中图片的方法是:

    img_get_photo.setDrawingCacheEnabled(true);
    bitt = Bitmap.createBitmap(img_get_photo.getDrawingCache());
    img_get_photo.setDrawingCacheEnabled(
    false);

    问题就出现在这里,此时获得的bit,是imageview的“影像”并不是imageView中加载的图片,通俗得说就是对imageview进行截屏处理,因为listview条目中是缩略图,自然放大的时候就会失真。

  • 相关阅读:
    A Node Influence Based Label Propagation Algorithm for Community detection in networks 文章算法实现的疑问
    Fast Newman-FN算法以及模块度定义介绍
    Label Propagation Algorithm LPA 标签传播算法解析及matlab代码实现
    设计一个smartnic
    Intel GEN11 GPU
    Intel GEN9 GPU
    Shared Virtual Memory (SVM) Functions
    connect via ssh to virtualbox guest vm without knowing ip address
    smartnic
    技术精品翻译
  • 原文地址:https://www.cnblogs.com/ruichenblogs/p/5192893.html
Copyright © 2011-2022 走看看