2012-12-30 28 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)的這個

的一個問題是當視圖是縮小比例。右側和底部的空白區域會顯示原始背景,但我仍然在尋找解決方法。