【问题标题】:Android multitouch resize listview fontAndroid 多点触控调整列表视图字体大小
【发布时间】:2013-01-01 23:58:52
【问题描述】:

我在下面有一个 ScaleGestureDetector,我可以在调用 adpater notifyDataSetChanged 后检测到 onScale 事件并实时调整我的视图大小。 但是,它很慢,因为我的观点很复杂。 有什么方法可以捕获视图的临时图像,然后调整图像大小以向用户显示效果,最后在 onScaleEnd 触发时更改真正的最终视图数据?

非常感谢

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

【问题讨论】:

    标签: android scale pinchzoom


    【解决方案1】:

    我通过以下方式实现了这一点

    1. 保存位图

      this.setDrawingCacheEnabled(true);

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

      this.setDrawingCacheEnabled(false);

    2. onDraw(Canvas 画布)

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

      canvas.scale(ivScaleFactor, ivScaleFactor);

      super.onDraw(canvas);

    这可以支持 API 级别 10 及以下的多点触控缩放,因为视图本身不支持 scale(x,y)

    其中一个问题是视图被缩小时。右侧和底部的空白区域将显示原始背景,我仍在寻找解决方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-18
      • 2012-05-17
      • 2020-01-27
      • 1970-01-01
      • 1970-01-01
      • 2013-08-28
      • 1970-01-01
      相关资源
      最近更新 更多