gpt4 book ai didi

android - 如何在 onDraw 方法中调试 Canvas 上的绘图?

转载 作者:太空宇宙 更新时间:2023-11-03 12:27:12 27 4
gpt4 key购买 nike

我正在实现我的自定义 View ,我在其中覆盖了 onDraw() 方法以绘制一些对象集。

对象应该放置在以特定方式评​​估的坐标中。放置这些对象的代码工作不正确(其中一些根本没有绘制或被其他对象覆盖)因此我需要进行一些调试以逐行执行它并观察实际绘制的内容-步骤。

但据我所知,实际图片是在所有绘图完成后显示在屏幕上的,因为当我执行 canvas.drawBitmap 行时,我的模拟器屏幕上没有任何内容。

我的问题是:调试 onDraw() 代码的最佳(或唯一)方法是什么?我在 Adroid 开发门户和此处发布的问题中做了一些研究,但无法找到解决方案。

最佳答案

还没有试过这个,但它应该会让你走上正轨:

  • 在您的 onDraw 方法开始时,使用来自 Canvas 的宽度和高度制作一个新的位图
  • 从位图中创建一个新的 Canvas
  • 在此 Canvas 上运行绘制调用
  • 您可以从 Android Studio 调试器检查位图,并将在每次绘制调用时更新
  • 如果您还想将数据绘制到屏幕上,您可以在带有完整位图的原始 Canvas 上使用 drawBitmap,但这不应该用于调试

不要将其留在生产代码中

@Override
public void onDraw(Canvas canvas) {
Bitmap screenBitmap = Bitmap.createBitmap(canvas.getWidth(), canvas.getHeight(), Bitmap.Config.ARGB_8888);
Canvas screenCanvas = new Canvas(screenBitmap);

/* Run draw calls on screenCanvas, inspect screenBitmap for result*/
}

关于android - 如何在 onDraw 方法中调试 Canvas 上的绘图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46936917/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com