PhotoView实现图片随手势的放大缩小的效果
2016-02-16 15:45
671 查看
项目需求:在listView的条目中如果有图片,点击条目,实现图片的放大,并且图片可以根据手势来控制图片放大缩小的比例。类似于微信朋友圈中查看好友发布的照片所实现的效果。
思路是这样的:当点击条目的时候触发listview的点击事件,跳转到另一个页面,在页面中自定义一个ImageView来实现图片的随手势的放大。但是点击图片来实现图片消失这一点这块小弟不会做,并且图片随手势的放大效果并不好。所幸的是最中找到了photoview这一个控件。使用photoView控件需要使用jar包:发现博客园不能上传jar,有需要的可以私信我:邮箱 chenruiyt@163.com
下面简单说一下photoview的用法。非常简单幺
在布局文件中添加photoview控件:
主界面中:
photoview的点击事件的监听:
在实现项目的需求的过程中,遇到了图片失真的问题,下面说一下图片失真的原因:
起初的实现方法是这样的:
在点击listview的条目的时候获取到imageView中的图片,在实现页面跳转的时候将图像对象传递到下一个页面
获取ImageView中图片的方法是:
问题就出现在这里,此时获得的bit,是imageview的“影像”并不是imageView中加载的图片,通俗得说就是对imageview进行截屏处理,因为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条目中是缩略图,自然放大的时候就会失真。
相关文章推荐
- 正则表达式基本语法
- JS中获取页面单选框radio和复选框checkbox中当前选中的值
- fleetctl --help
- 如何请教别人
- jvm中加载类的全过程
- 抹除花指令
- Android Volley框架的使用(3)
- Eclipse好使但部署到weblogic出现ClientInstanceInvocationHandler错误
- 织梦发布默认为动态浏览修改方法
- Zabbix server is not running 报错的排查
- Hive 1.2.1&Spark&Sqoop安装指南
- springmvc中@PathVariable和@RequestParam的区别
- mockito
- C++插入中文到mysql乱码
- Linux 双链表 list_for_each_entry 实现
- 关于WEB-INF下的jsp,使用绝对路径如何访问?
- 同步,易变,内存模型
- spring 4.0.6 + mybatis 3.2.5 + mybatis-spring 1.2.3 构造多个数据源的配置
- FragmentTabHost的基本用法
- linux小白学习笔记(一)常用基础命令