`
- 浏览:
112925 次
-
http://www.eoeandroid.com/thread-98726-1-1.htmlAndroid源码自带的Gallery不支持两个手指头缩放图片这样的多点触摸功能,所以这个得自己添加。 具体添加的代码很简单,修改一下/packages/apps/Gallery/src/com/android/camera/ViewImage.java中的rootListener就行了。 下面的代码只做了两点的情况,根据两点之间的距离长度的变化计算出缩放比例:java代码:float scale = value / baseValue;复制代码 再乘上图片原本的缩放比例:java代码:originalScale = mImageView.getScale();originalScale*scale复制代码 得出图片的最终大小。 代码用到了ImageViewTouchBase提供的几个现成的方法: mImageView.getScale()//当前的缩放比例。 mImageView.zoomTo(float scale, float centerX, float centerY)//最终缩放到多大比例。centerX和centerY是缩放的中心点,可以用两个手指的触摸点中间的那个点:[x0+x1)/2,(y0+y1)/2]。java代码:OnTouchListener rootListener = new OnTouchListener() {//modified by lianbing 2011.5.23private float baseValue, lastScale;private float originalScale;public boolean onTouch(View v, MotionEvent event) {if (event.getAction() == MotionEvent.ACTION_DOWN) {baseValue = 0;lastScale = 0;originalScale = mImageView.getScale();}if (event.getAction() == MotionEvent.ACTION_MOVE) {if (event.getPointerCount() == 2) {float x = event.getX(0) - event.getX(1);float y = event.getY(0) - event.getY(1);float value = (float)Math.sqrt(x * x + y * y);//计算两点的距离// System.out.println("value:" + value);if (baseValue == 0) {baseValue = value;} else {float scale = value / baseValue;//当前两点间的距离除以手指落下时两点间的距离就是需要缩放的比例。if (Math.abs(lastScale - scale) > 0.1) {//只有比例变化大于0.1时才进行缩放。lastScale = scale;// scale the imagemImageView.zoomTo(originalScale*scale, x + event.getX(1), y + event.getY(1));}}return true;}}buttonListener.onTouch(v, event);mGestureDetector.onTouchEvent(event);// We do not use the return value of// mGestureDetector.onTouchEvent because we will not receive// the "up" event if we return false for the "down" event.return true;}};复制代码 另外,发现一部分机器上面有这样一个问题,在机器用USB连接到PC上时,触摸有些乱。平时用自己的机器在看小说时,如果手机正连着充电器,也会有触摸不准确的问题。 所以调试这一部分的程序时,最好拔掉USB线。 另外android.view.ScaleGestureDetector好像也是专门做这个的。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
gallery 图片触摸滑动播放 ,触摸后,自动播放停止,转为滑动播放,简单例子
实现了ImageView多点缩放效果,并使用gallery进行选择,通过多点触摸实现图片改变。
Android自定义Gallery 自定义边框 底部小圆点 自动切换
1.gallery循环 2.java反射机制获取图片 3.可以从gallery中删除图片 初学必看。。
首页幻灯显示图文的插件content-gallery使用方法,直接复制插件目录content-gallery到WP插件目录里面。然后到WP后台插件里面启用Featured Content Gallery即可。 2.Featured Content Gallery显示图片的方法:首先,...
Android Gallery 自定义ImageView和Gallery实现图片浏览功能,类似Android...一开始使用Viewpager实现图片浏览,发现两张图片滑动时没有间隔,看着很丑,最后在别人使用Gallery代码基础上进行修改,实现自己的功能。
Gallery做成弧形戓者圆形,亲自测试过,可以用!前提是下载者自己已经实现了Gallery的图像显示,加上这个附件,那么就可以实现Gallery做成弧形戓者圆形。谢谢!
Android 重写Gallery实现gallery的动画切换效果
android gallery简单应用,里面有对gallery源码例子
这个demo实现了类似iOS上面的CoverFlow功能。 主要有两个功能 1, 实现图片的倒影效果 2,重写gallery的一些方法实现Y轴上的旋转,Z轴上的缩放。
Android应用源码之Gallery_Gallery
Gallery2.apk 这是一个相机应用
android 中使用Gallery图片居中,影响用户体验,解决Gallery左右对其的问题
Android 滑动效果 Gallery
Android应用源码之Gallery1_Gallery
android gallery例子android gallery例子android gallery例子
Lazyest Gallery是一款综合性的幻灯片插件,它具有以下特点: •自动创建缩略图和幻灯片 •评论图片和文件夹 •每个文件夹管理意见或图像 •JQuery的幻灯片,没有必要额外Flash下载 •在页面或文章中显示缩略图的...
Gallery3D.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
如果有那个想法的话,就不要错过了这款插件Page Flip Image Gallery,它不是幻灯片模式展开,而是通过书的模式把图片展示给访客,效果十分不错。 Page Flip Image Gallery插件的特点: •图片页面翻转功能,增加...
android 4.0 Gallery源码