iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android实现通过手势控制图片大小缩放的方法
  • 949
分享到

Android实现通过手势控制图片大小缩放的方法

方法图片控制图手势Android 2022-06-06 07:06:52 949人浏览 八月长安
摘要

本文实例讲述了Android实现通过手势控制图片大小缩放的方法。分享给大家供大家参考,具体如下: 该程序实现的是通过手势来缩放图片,从左向右挥动图片时图片被放大,从右向左挥动图

本文实例讲述了Android实现通过手势控制图片大小缩放的方法。分享给大家供大家参考,具体如下:

该程序实现的是通过手势来缩放图片,从左向右挥动图片时图片被放大,从右向左挥动图片时图片被缩小,挥动速度越快,缩放比越大。程序思路如下:在界面中定义一个ImageView来显示图片,使用一个GestureDetector来检测用户的手势,并根据用户的手势在横向的速度来缩放图片。

在介绍这个实例前,先介绍一下Android中处理手势触摸事件的大概框架

一、添加语句实现OnGestureListener手势监听器,代码如下:


public classGestureZoom extends Activity implements OnGestureListener

二、定义一个手势监听器的全局实例,并在onCreate函数中对其进行初始化,代码如下:


GestureDetector detector;
@Override
public void onCreate(Bundle savedInstanceState)
{
  ... ...
  detector = new GestureDetector(this);
}

三、重写onTouchEvent函数,把本Activity的触摸事件交给GestureDetector处理,代码如下:


@Override
public boolean onTouchEvent(MotionEvent me)
{
  return detector.onTouchEvent(me);
}

四、重写你需要监听的手势的函数,默认包括如下几种手势:

BooleanonDown(MotionEvent e):按下。
BooleanonFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY):拖过、滑动。
abstract voidonLongPress(MotionEvent e):长按。
BooleanonScroll(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY):滚动。
voidonShowPress(MotionEvent e):按下且未移动和松开。
BooleanonSingleTapUp(MotionEvent e):轻击。

这几种手势是系统默认提供的,根据描述大家可能还是不太明确这几种手势,最好的方法就是大家可以实现一个简单的程序实验一下就明白了。当然,除了这些默认的手势,也可以自行添加手势,篇幅有限就不再赘述了。

接下来给出通过滑动来实现图片缩放的实例,对比上面给出的基本框架,其实就是重写了onFling函数,在其中定义了如何处理滑动事件。

首先定义除了手势监听器外一些全局对象,并在onCreate函数中做相应的初始化:


GestureDetectordetector;
ImageViewimageView;
Bitmap bitmap;//保存图片资源
int width,height;// 记录图片的宽、高
floatcurrentScale = 1;// 记录当前的缩放比
Matrix matrix;//控制图片缩放的Matrix对象
@Override
public voidonCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    detector = new GestureDetector(this);
    imageView = (ImageView)findViewById(R.id.show);
    matrix = new Matrix();
    bitmap =BitmapFactory.decodeResource(this.getResources(), <你的图片资源>);//获取被缩放的源图片,因为不能对原有图片进行修改,所以必须转化为位图
    width = bitmap.getWidth();
    height = bitmap.getHeight();
    imageView.setImageBitmap(BitmapFactory.decodeResource(this.getResources(), <你的图片资源>));//设置ImageView初始化时显示的图片
}

一、触摸时间绑定手势监听器,和前面是一样的,就不再贴代码了。

二、重写onFling函数:


@Override
publicboolean onFling(MotionEvent event1, MotionEvent event2
, float velocityX, float velocityY)
{
   velocityX = velocityX > 4000 ? 4000 :velocityX;
   velocityX = velocityX < -4000 ? -4000: velocityX;
   //根据手势的速度来计算缩放比,如果velocityX>0,放大图像,否则缩小图像。
   currentScale += currentScale * velocityX/ 4000.0f;
   //保证currentScale不会等于0
   currentScale = currentScale > 0.01 ?currentScale : 0.01f;
   // 重置Matrix
   matrix.reset();
   // 缩放Matrix
   matrix.setScale(currentScale,currentScale , 160 , 200);
   BitmapDrawable tmp = (BitmapDrawable)imageView.getDrawable();
   //如果图片还未回收,先强制回收该图片
   if (!tmp.getBitmap().isRecycled())
   {
       tmp.getBitmap().recycle();
   }
   // 根据原始位图和Matrix创建新图片
   Bitmap bitmap2 =Bitmap.createBitmap(bitmap
       ,0, 0, width, height, matrix, true);
   // 显示新的位图
   imageView.setImageBitmap(bitmap2);
   return true;
}

布局文件仅仅添加了一个ImageView控件,大家自己画一下。在这里没有截图,因为截图也看不出效果,大家就自己试试吧。好了,至此就实现了通过手势滑动来实现图片缩放,以上内容学习自疯狂Android一书。

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android图形与图像处理技巧总结》、《Android视图View技巧总结》、《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android布局layout技巧总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

您可能感兴趣的文章:Android实现本地图片选择及预览缩放效果Android实现ImageView图片缩放和拖动Android实现手势滑动多点触摸缩放平移图片效果(二)Android实现手势滑动多点触摸缩放平移图片效果Android手势滑动实现ImageView缩放图片大小Android开发之imageView图片按比例缩放的实现方法基于Android 实现图片平移、缩放、旋转同时进行Android编程实现图片的浏览、缩放、拖动和自动居中效果android 图片操作(缩放移动) 实例代码Android 图片缩放与旋转的实现详解Android控件实现图片缩放功能


--结束END--

本文标题: Android实现通过手势控制图片大小缩放的方法

本文链接: https://www.lsjlt.com/news/23685.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JS怎么实现图片放大缩小的方法
    这篇文章主要介绍了JS怎么实现图片放大缩小的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。本文实例讲述了JS实现图片放大缩小的方法。分享...
    99+
    2024-04-02
  • Android编程实现图片放大缩小功能ZoomControls控件用法实例
    本文实例讲述了Android编程实现图片放大缩小功能ZoomControls控件用法。分享给大家供大家参考,具体如下:MainActivity代码:package example.com.myapplication;import andro...
    99+
    2023-05-30
    android 图片 控件
  • 如何通过纯CSS实现图片的放大缩小效果的方法和技巧
    如何通过纯CSS实现图片的放大缩小效果的方法和技巧在现代的网页设计中,图片的展示和处理是非常重要的一部分。而图片的放大缩小效果可以为网站的视觉呈现增添趣味和交互性。在这篇文章中,我们将介绍如何通过纯CSS实现图片的放大缩小效果,并提供具体的...
    99+
    2023-10-24
    图片 方法 技巧 放大缩小 纯CSS
  • 如何通过纯CSS实现图片的缩放放大效果
    在现代网页设计中,图片的缩放放大效果常常被使用。通过CSS,我们可以轻松地实现这一效果,而无需使用JavaScript或其他编程语言。本文将介绍如何使用纯CSS来实现图片的缩放放大效果,并提供具体的代码示例。实现图片的缩放放大效果可以使用C...
    99+
    2023-10-21
    放大 CSS 缩放
  • CSS实现图片放大缩小效果的技巧和方法
    在网页设计中,添加图片元素是非常常见的操作。而为了提升用户体验,实现一些特殊效果是必不可少的。本文将介绍使用CSS来实现图片放大缩小效果的一些技巧和方法,并给出具体的代码示例。一、使用transform属性实现图片的缩放效果transfor...
    99+
    2023-10-21
    CSS 技巧方法 图片放大缩小
  • 微信小程序实现通过双向滑动缩放图片大小的示例分析
    这篇文章主要介绍了微信小程序实现通过双向滑动缩放图片大小的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。本文实例讲述了微信小程序实现...
    99+
    2024-04-02
  • 实现微信小程序中的图片放大缩小效果
    实现微信小程序中的图片放大缩小效果,需要具体代码示例在微信小程序中实现图片的放大缩小效果是一个常见需求,可以通过使用WXSS样式和WXSS样式来实现。下面将介绍具体的代码示例。1.在wxml文件中编写图片和相关的按钮组件:<view&...
    99+
    2023-11-21
  • 如何通过纯CSS实现网页的平滑滚动背景图片放大缩小效果
    在现代网页设计中,背景图片是非常常见的元素之一。为了提升网页的视觉效果,我们可以利用CSS来实现背景图片的平滑滚动放大缩小效果,从而给用户带来更好的浏览体验。首先,在HTML中创建一个具有该效果的容器元素:<div class=&qu...
    99+
    2023-10-21
    CSS 平滑滚动 背景图片放大缩小效果
  • 如何通过纯CSS实现图片的缩放旋转效果的方法和技巧
    如何通过纯CSS实现图片的缩放旋转效果的方法和技巧CSS是前端开发中常用的一种样式语言,它可以用来定义网页的布局、颜色、字体等样式。除了这些基础功能之外,CSS还可以实现一些令人惊叹的效果,比如图片的缩放旋转。本文将介绍如何通过纯CSS实现...
    99+
    2023-10-26
    CSS 缩放 (Scale) 旋转 (Rotate)
  • web开发中如何实现Iphone手机、安卓手机浏览器控制默认缩放大小的方法
    这篇文章给大家分享的是有关web开发中如何实现Iphone手机、安卓手机浏览器控制默认缩放大小的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。可能大家发现自己制作的手机端页面...
    99+
    2024-04-02
  • Android性能优化之图片大小,尺寸压缩的方法
    这篇文章主要介绍“Android性能优化之图片大小,尺寸压缩的方法”,在日常操作中,相信很多人在Android性能优化之图片大小,尺寸压缩的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android性能...
    99+
    2023-06-30
  • CSS实现放大缩小关闭按钮的方法
    这篇文章主要介绍CSS实现放大缩小关闭按钮的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!这种效果最常见是在我们的浏览器页面上,先给大家展示效果图:如上图所示,使用CSS 绘制上述三个按钮:<templat...
    99+
    2023-06-08
  • 基于jquery实现滚轮放大缩小图片的函数代码
    以下是一份基本的jquery实现滚轮放大缩小图片的函数代码 (1)滚轮控制放大缩小图片效果如图: 实现代码如下: <!DOCTYPE html> <html>...
    99+
    2023-05-18
    js滚轮放大缩小图片 jquery滚轮放大缩小
  • 如何通过纯CSS实现图片的模糊放大效果的方法和技巧
    如何通过纯CSS实现图片的模糊放大效果的方法和技巧摘要:通过纯CSS实现图片的模糊放大效果可以为网页增加更具吸引力的视觉效果。本文将介绍一种简单的方法和一些技巧,包括具体的代码示例。一、背景知识在介绍实现方法之前,我们先来了解一些背景知识。...
    99+
    2023-10-24
    图片 模糊效果 纯CSS
  • CSS实现图片缩放特效的技巧和方法
    在网页设计中,图片是不可或缺的元素之一。为了让网页更加生动和吸引人,我们经常使用图片放大缩小的特效来增加视觉效果。下面将介绍几种常见的CSS技巧和方法,以及具体的代码示例,来实现图片缩放特效。使用transform属性transform属性...
    99+
    2023-10-21
    图片特效 技巧方法 CSS缩放
  • Android开发实现图片平移、缩放、倒影及旋转功能的方法
    本文实例讲述了Android开发实现图片平移、缩放、倒影及旋转功能的方法。分享给大家供大家参考,具体如下:解析:1)根据原来的图片创建新的图片Bitmap modBm = Bitmap.createBitmap(bm.getWidth()+...
    99+
    2023-05-30
    android 图片 roi
  • Matplotlib怎么实现可通过滚动鼠标缩放的交云端算法控图表
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-21
  • Android应用中实现图片压缩的方法有哪些
    这篇文章将为大家详细讲解有关Android应用中实现图片压缩的方法有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Android图片压缩几种方式总结图片压缩在Android开发中很常见也...
    99+
    2023-05-31
    android roi
  • 怎么用HTML5实现鼠标滚轮事件放大缩小图片的功能
    本篇内容介绍了“怎么用HTML5实现鼠标滚轮事件放大缩小图片的功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有...
    99+
    2024-04-02
  • 微信小程序图片压缩功能的实现方法
    微信小程序图片压缩功能的实现方法 :1、在 wx.chooseImage 接口选择相机图片。2、在 wx.getImageInfo 接口获取图片信息。3、计算压缩比例和最终图片的长宽。4、创建 canvas 绘制最终图片。5、在 wx.ca...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作