Android Canvas.drawPoint方法无绘制效果问题求助
为什么Canvas.drawPoint在Android 12+上无法显示?
这不是Android 12+的Bug,问题出在你没给Paint设置笔触宽度:
drawPoint绘制的点依赖Paint的strokeWidth属性,默认值为0。在高DPI设备(比如API 35模拟器)上,系统会优化掉0宽度的笔触渲染,导致点完全不可见。而drawRect是填充型绘制,不依赖笔触宽度,所以能正常显示。解决方法很简单,在调用
drawPoint前给Paint设置合适的笔触宽度即可:
paint.setColor(Color.GREEN); paint.setStrokeWidth(2); // 根据需要调整宽度,比如2px for(int x = 300; x <= 400; x++) for(int y = 300; y <= 400; y++) canvas.drawPoint(x, y, paint);
- 补充:高版本Android对渲染精度和性能的要求更严格,不再兼容0宽度笔触的“隐式显示”逻辑,所以必须显式设置笔触宽度才能让
drawPoint生效。
内容的提问来源于stack exchange,提问作者L. Swifter
相关产品推荐
相关产品推荐

