图片传值(Intene+ImageLoader)+缩放、拖拽(PhotoView)
来源:互联网 发布:金庸对悟空传评价知乎 编辑:程序博客网 时间:2024/06/05 04:11
//子条目的点击监听
xLV.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent intent = new Intent(getActivity(), SeondActivity.class); intent.putExtra("image",results.get(position-1).getThumbnail_pic_s()); startActivity(intent); }});//导一个jar包 photoView 1.2.4 compile 'com.github.chrisbanes.photoview:library:1.2.4'
//SecondActivity布局文件
<uk.co.senab.photoview.PhotoView android:id="@+id/sec_photoView" android:layout_width="300dp" android:layout_height="200dp" />//SecondActivity中
public class SeondActivity extends AppCompatActivity{// private ImageView imageView; private PhotoView sec_photoView; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.second);// imageView = (ImageView) findViewById(R.id.sec_image); sec_photoView = (PhotoView) findViewById(R.id.sec_photoView); Intent intent = getIntent(); //path 路径 String image = intent.getStringExtra("image"); //自定义配置 DisplayImageOptions options = new DisplayImageOptions.Builder() .cacheInMemory(true)//让图片进行内存缓存 .cacheOnDisk(true)//让图片进行sdcard缓存// .showImageForEmptyUri(R.mipmap.ic_empty)//图片地址有误// .showImageOnFail(R.mipmap.ic_error)//当图片加载出现错误的时候显示的图片// .showImageOnLoading(R.mipmap.loading)//图片正在加载的时候显示的图片 .build(); //ImageLoader.getInstance().loadImage(path,options,new Ima);//加载图片 //参数1:加载的图片地址 //参数2:将图片设置到那个图片控件上面 //参数3:加载图片配置选项,意思是指明对这张图片的是否进行缓存(内存、sdcard) ImageLoader.getInstance().displayImage(image, sec_photoView, options); } /** * 事件分发的方法 ,需要activty把事件传给photoview ,photoview才能接受到我们的触摸事件 */ @Override public boolean dispatchTouchEvent(MotionEvent ev) { //activity接受到事件分发之后,我们手动处理触摸事件,只给传给我们自己的onTouchEvent方法; onTouchEvent(ev); return true; } //手指按下的坐标 float downX; float downY; //手指移动前的坐标 float lastX; float lastY; boolean moveble = false; boolean isMorePoint = false; @Override public boolean onTouchEvent(MotionEvent event) { super.onTouchEvent(event); //接受多指触控需要用 event.getAction() & MotionEvent.ACTION_MASK 来获得当前的触摸事件 switch (event.getAction() & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: downX = event.getX(); downY = event.getY(); lastX = downX; lastY = downY; if (downX > sec_photoView.getX() && downX < sec_photoView.getX() + sec_photoView.getWidth() && downY > sec_photoView.getY() && downY < sec_photoView.getY() + sec_photoView.getHeight() ) { moveble = true; } else { moveble = false; } break; case MotionEvent.ACTION_MOVE: //当前手指摸出的坐标 float currentX = event.getX(); float currentY = event.getY(); //我手指移动的距离 float gapX = currentX - lastX; float gapY = currentY - lastY; // 如果点击位置不在图片上的话不做任何逻辑处理 moveble ==true 的时候做处理 if (moveble) { if (isMorePoint) { //多指的时候 把事件交给photoview去处理 ,它自己会根据事件去做放大缩小的逻辑 , sec_photoView.dispatchTouchEvent(event); } else { //单指的时候 拖拽的逻辑 设置图片新的位置 == 原来的位置 + 手指移动的距离 sec_photoView.setX(sec_photoView.getX() + gapX); sec_photoView.setY(sec_photoView.getY() + gapY); } } lastX = event.getX(); lastY = event.getY(); break; case MotionEvent.ACTION_UP: break; //除了第一个手指之外别的手指按下时触发 case MotionEvent.ACTION_POINTER_DOWN: isMorePoint = true; break; //除了第一个手指之外别的手指抬起时触发 case MotionEvent.ACTION_POINTER_UP: isMorePoint = false; break; } return true; }}
阅读全文
0 0
- 图片传值(Intene+ImageLoader)+缩放、拖拽(PhotoView)
- PhotoView 图片缩放框架
- PhotoView 图片缩放功能
- photoview-library 图片的缩放
- Android图片缩放框架PhotoView
- PhotoView 图片浏览缩放控件
- PhotoView 图片浏览缩放控件
- PhotoView 图片浏览缩放控件
- ImageIoader 加载图片与PhotoView图片缩放
- Android使用PhotoView实现图片缩放功能
- Android使用PhotoView实现图片缩放功能
- android photoview 图片放大缩放功能 ImageView
- Android PhotoView 支持图片缩放的使用
- android photoview 图片放大缩放功能 ImageView
- android photoview 图片放大缩放功能 ImageView
- android 图片缩放,github开源库,PhotoView 使用
- android photoview 图片放大缩放功能 ImageView
- android photoview 图片放大缩放功能 ImageView
- PIL2Numpy:通过PIL和numpy数据格式互相转换来调用PIL/cv2
- Hbase操作shell和API
- JNI实现源码分析【二 数据结构】
- SpringMVC之视图解析器(ViewResolver)
- BZOJ2460: [BeiJing2011]元素
- 图片传值(Intene+ImageLoader)+缩放、拖拽(PhotoView)
- 【PDF下载】双11技术峰会之阿里大规模数据计算与处理
- Problem A: 统计数字
- 域服务篇 02. 域服务配置 ❀ Windows Server 2016
- [NOIP模拟赛]相似字符串
- 使用行为树(Behavior Tree)实现游戏AI
- RecyclerView中使用CheckBox勾选混乱问题解决以及单选功能的实现
- 数据库的增删改查
- HttpClient