2012-12-30 30 views
0

我有一个ScaleGestureDetector下面,我可以检测onScale事件,并在调用adpater notifyDataSetChanged后实时调整我的视图大小。 但是,这很慢,因为我的观点很复杂。 有没有什么方法可以捕捉视图的临时图像,然后做图像调整大小以向用户显示效果,并最终在onScaleEnd触发时执行真正的最终视图数据更改?Android multitouch调整列表查看字体

非常感谢

http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.3.7_r1/android/view/ScaleGestureDetector.java#ScaleGestureDetector.OnScaleGestureListener

回答

0

我按照实现这一

  1. 保存位图

    this.setDrawingCacheEnabled(真);

    ivSnapShotBitmap = Bitmap.createBitmap(this.getDrawingCache());

    this.setDrawingCacheEnabled(false);

  2. 的onDraw(帆布帆布)

    canvas.drawBitmap(ivSnapShotBitmap,0,0,NULL);

    canvas.scale(ivScaleFactor,ivScaleFactor);

    super.onDraw(canvas);

这可以支持类型10的API级以下为多点触控的放大,因为该视图itselft不支持的规模(X,Y)的这个

的一个问题是当视图是缩小比例。右侧和底部的空白区域会显示原始背景,但我仍然在寻找解决方法。