2024年3月9日发(作者:)

本文章来给各位同学介绍一下Android开发之ImageView通过matrix实现手势缩

放操作方法,我们知道安卓中ImageView本身有scaleType属性,通过设置

android:scaleType=matrix 可以用很少的代码就实现缩放功能了,下面我们来看看。

关于ImageView的手势缩放,有很多种方法,绝大多数开源自定义缩放都是修改了

ondraw函数来实现的。但是ImageView本身有scaleType属性,通过设置

android:scaleType="matrix" 可以用很少的代码就实现缩放功能。缩放的优点是实现起

来简单,同时因为没有反复调用ondraw函数,缩放过程中不会有闪烁现象。

MATRIX矩阵可以动态缩小放大图片来显示,缩小图片:

代码如下

//获得Bitmap的高和宽

int bmpWidth=th();

int bmpHeight=ght();

//设置缩小比例

double scale=0.8;

//计算出这次要缩小的比例

scaleWidth=(float)(scaleWidth*scale);

scaleHeight=(float)(scaleHeight*scale);

//产生resize后的Bitmap对象

Matrix matrix=new Matrix();

ale(scaleWidth, scaleHeight);

Bitmap resizeBmp=Bitmap(bmp, 0, 0, bmpWidth, bmpHeight,

matrix, true);

下面将一个自定义的实现了手势缩放的ImageView代码拷贝如下:

代码如下

package llerry;

import t;

import ;

import ;