OpenHarmony开源社区
直播中

nhcp

16年用户 1137经验值
私信 关注
[问答]

harmony surfaceProvider绘制不显示问题要如何处理呢?

鸿蒙自定义SurfaceProvider

protectedvoidonRender(Canvascanvas,longmillisPassed){
floatoffset=millisPassed/offsetSpeed;
HiLog.info(label,"WLV_onRender"+(canvas==null)+"paint"+(paint==null));
Paintpaint1=newPaint();
paint1.setColor(Color.WHITE);
canvas.drawCircle(200,200,130,paint1);

HiLog.info(label,"WLV_onRender02");

}

有输出日志,但是看不到绘制的东西,哪位大神知道是啥原因吗

回帖(4)

夏日余晖

2022-6-13 10:16:23
SurfaceProvider的使用会涉及到一个Z轴的图层上下级的关系,如果设置在底部,并且窗口背景没有设置透明,则会被遮盖。有两种解决方案

1、将窗口背景设置未透明

2、将provider置顶,mSurfaceProvider.pinToZTop(true);
举报

h1654155272.9717

2022-6-13 10:16:52
有输出日志,只是画不出来,不使用回调方法单独测试Paint和Canvas是没有问题的(是在ondraw()方法里面直接操作).   下图是在我当前环境(使用回调方法)下的输出日志
1.png
举报

zhongnian

2022-6-13 10:17:04
1、能否麻烦附一下输出日志?

2、如果不使用回调方法,单独测试一下Paint和Canvas的相关API,试一下能否绘制出来?
举报

王尚岱

2022-6-13 10:17:13
SurfaceProvider 视频也是显示不出来,切换视频源,重新播放时候就是显示不出来。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分