android - onDraw() - 我必须先清除 Canvas 吗?

标签 android

我已经创建了一个要在操作栏中显示的自定义 View 。它大部分都有效,除了有时在开始时我会看到我绘制的任何内容的镜像副本。副本与原始重叠,但相距几个像素。

我的 onDraw() 覆盖非常简单。它所做的只是绘制一个位于 Canvas 中心的图像。

我有点懵。我是否应该先在 onDraw() 方法中清除 Canvas ?预先感谢您的帮助。

最佳答案

这很令人困惑,但您会注意到在自定义 View 示例(随 SDK 一起提供)中,onDraw() method首先调用 canvas.drawColor(),然后再调用。

我假设它不会自动完成,因为如果您绘制的内容无论如何都会填满整个 View ,那将是一种浪费。我只是希望在大多数情况下更清楚这是必要的。

关于android - onDraw() - 我必须先清除 Canvas 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20406800/

相关文章:

java - 扩展的 MultipartEntity 没有正确写出 Streams

android - 如何在带有sqlbrite的sqldelight中使用新的编译语句?

java - 如何获取有关标记显示的地点的信息

android - 如何使用 BLE 将应用程序通知从一部 Android 手机传递到另一部 Android 手机

java - 长按不适用于 ListView

javascript - 在没有地址栏的 Android 上打开链接

android - 如何在应用程序关闭时重新启动服务?

java - 这段代码有多少应该位于 UI 线程内?

android - 如何根据时间变化在日历中回溯日期[android]?

android - 可以挂载未加密的obb但加密错误21