xamarin - 什么时候需要 InvalidateSurface()?
问题描述
在下面的示例中,OnTouchEffectAction 包含 canvas.InvalidateSurface()。OnCanvasViewPaintSurface 包含 convas.DrawPath()。
问题:
- 为什么 OnTouchEffectAction 需要 InvalidateSurface()?
- 为什么绘制后不调用 InvalidateSurface?
解决方案
InvalidateSurface
导致引发PainSurface
事件,该事件调用OnCanvasViewPaintSurface
. InvalidateSurface
是您告诉 Skia 您已对画布进行更改并且需要刷新其 UI 的方式。 OnTouchEffectAction
正在向画布添加新的折线,因此调用InvalidateSurface
会导致画布用这些新线重绘。
推荐阅读
- php - Discounting the cheapest item for a specific category in WooCommerce
- php - 如何在 PHP 中建立两个表之间的关系
- c++ - 当我输入等于 totalCost 的双精度时,如果语句不会运行
- mysql - 汇总不同组的每个 ID 的结果
- c - 为什么在尝试释放字符串数组时出现此错误
- c++ - C++ 的 JSON 解析器
- go - 将数据发布到端点后请求正文为空
- php - docker php 警告:strtotime() [function.strtotime]
- iis - ServiceStack ...'内存已损坏'
- javascript - Javascript Promises 不会像我期望的那样工作