java - Android Java Fingerpaint 清除所有功能?

标签 java android

所以只是搞乱了 SDK 中的 Fingerpaint 演示并尝试实现“全部清除”功能而不是使用橡皮擦工具。我在下面添加了代码,但只有在您触摸屏幕后才有效。例如。我在屏幕上涂写了一点,点击了“全部清除”按钮,但涂写仍然存在,直到我用手指点击屏幕,它才消失。如何让屏幕在按下按钮后立即更新?提前致谢。

    private void clearAll() {             
        mBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);          
        mCanvas = new Canvas(mBitmap);          
     }

最佳答案

要清除 Canvas ,最好只调用 Canvas.drawColor(Color.BLACK)或使用其他颜色。你这样做的方式似乎也有效,但它也是 1) 创建额外的对象,以及 2) 在再次调用 onDraw() 之前不会使用新的 Canvas 。

我认为调用 drawColor() 会自动使 Canvas 无效并强制重绘。如果没有,或者如果您想坚持使用新的 Bitmap 和新的 Canvas,请尝试添加对 View.invalidate() 的调用.

关于java - Android Java Fingerpaint 清除所有功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8792955/

相关文章:

java - 从 Java 更新 DNS(类似于 DUC NO - IP)。 [是: Actualizar DNS desde Java (Similar a DUC No-Ip)]

android - 聊天和 VOIP 应用程序

android - Compose LazyColumn 键,对项目进行排序时滚动会变得困惑

android - 如何添加真正的加载屏幕

android - ListView 项目不会膨胀以按预期包装内容,高度 == 0 但不应该

java - getExternalStorageDirectory() 到 getExternalFilesDir()

java - 搜索文本中的字符串模式

java - BigDecimal 符号/括号

java - 获取 Cassandra 连接错误

javascript - 无法在 Internet Explorer 11 中执行 Javascript 执行器