如果我用dirty rect参数使我的自定义视图的一部分无效(),如何获取draw()方法内的脏区域?画布的裁剪矩是不一样的 - 根据我的经验,它通常要大几倍。获取内部脏区域draw()
2
A
回答
2
从传递到Canvas对象中的clipRect获取onDraw方法。这个clipRect(Canvas :: getClipBounds)实际上是无效的Rect。
clipRect有时候会更大,因为不同的无效区域会被联合在一起,所以一个事件会被触发而不是出于性能原因而触发多个事件。
3
如果脏矩形与传递给invalidate()的不一致,那是因为屏幕的另一个视图或区域也被无效。
相关问题
- 1. 获取某个区域内的坐标
- 2. C++形状区域:获取区域0
- 3. 获取与区域接壤的区域
- 4. UIWebView:跟踪屏幕更新(脏区域)
- 5. iOS是否默认使用脏区域?
- 6. 区域内的区域
- 7. 获取对象的区域
- 8. 获取图的区域
- 9. 获取触摸区域
- 10. 获取安全区域插入顶部和底部高度
- 11. XHTML和内部的文字区域
- 12. 如何使用IViewObject :: Draw渲染画布的可滚动区域?
- 13. 如何获取mapview可视区域周围的区域?
- 14. 从矩阵获取区域/区域边界
- 15. 获取内部camelContext
- 16. 获取UIImage的两个不同图像部分的区域
- 17. Backbone.Marionette布局:区域内的区域
- 18. PRISM:区域内的嵌套区域
- 19. 提取边界内的图像区域
- 20. 获取内存区域的“执行”权限
- 21. 获取区域内的坐标坐标 - Google地图
- 22. 获取正在运行的进程分配的内存区域
- 23. 如何获取sikuli区域内图像的坐标?
- 24. 如何使用GDB获取函数的内存区域
- 25. 在页面的矩形区域内获取DOM元素
- 26. 获取鼠标相对于元素内容区域的位置
- 27. 在VTK中获取轮廓内的区域
- 28. MFC获取对话框区域
- 29. 获取Windows的区域设置格式
- 30. C# - 如何获取System.Drawing.Region的区域?
在这种特殊情况下,没有其他无效。测试非常干净 - 只要我愿意,应用程序就会很紧张,然后我点击屏幕。这会导致重绘。不可能有另一个待决失效。 – 2010-10-06 15:39:00
我在这里有相同的经历。 getClipRect返回整个视图的边界,而不是我传递给无效的小矩形。 – 2014-08-25 20:34:18
我不认为这个答案是正确的 - 我的示例应用程序设置了一个小矩形,但Canvas.getClipBounds()总是返回整个视图的边界。 – greg7gkb 2016-03-19 03:13:09