canvas.drawPath 没起作用
2017-04-01 11:54
295 查看
前两天遇见一个问题,在很多测试机都试过,低版本的话会出现这个方法不起作用。但是在高版本的机型上不存在问题的。
如果在安卓4.4或者之前的版本,开启硬件加速的情况下,更改dstpath 的内容后可能绘制会出现问题。
这里我就遇到问题经查阅资料后给出解决方案:
1,关闭当前界面的硬件加速
关闭硬件加速详解
关闭硬件加速原文
好了,重在解决问题希望帮到你!
mPath.reset(); dstPath.reset(); mPath.moveTo(viewProgress.getLeft(), viewProgress.getBottom() - viewProgress.getMeasuredHeight() / 2); mPath.lineTo(viewProgress.getRight(), viewProgress.getBottom() - viewProgress.getMeasuredHeight() / 2); mPathMeasure = new PathMeasure(mPath, true); // pathLeft = dpTpPx(15)+pathLeft; // pathRight = pathRight - dpTpPx(15); mPathMeasure.getSegment(dpTpPx(15) - 5 + pathLeft, pathRight + 5 - dpTpPx(15), dstPath, true); // Log.d("sss","调用"+segment); dstPath.rLineTo(0, 0); canvas.drawPath(dstPath, mPaint);
如果在安卓4.4或者之前的版本,开启硬件加速的情况下,更改dstpath 的内容后可能绘制会出现问题。
这里我就遇到问题经查阅资料后给出解决方案:
1,关闭当前界面的硬件加速
关闭硬件加速详解
关闭硬件加速原文
Application <application android:hardwareAccelerated="false" ...> </application> Activity <application android:hardwareAccelerated="true"> <activity ... /> <activity android:hardwareAccelerated="false" /> </application> Window getWindow().setFlags( WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED); View myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
2,或者给dstpath.rLineTo(0, 0);
好了,重在解决问题希望帮到你!
相关文章推荐
- Canvas之drawPath
- canvas的cliprect以及drawTextOnPath,Region.OP
- Android开发:canvas.drawTextOnPath()无效----Android4.03的又一个bug!!!!(关于Canvas绘制的方方面面)
- Android_canvas.drawTextOnPath()无效
- 使用Canvas的drawTextOnPath方法实现沿着Path绘制文本
- canvas.drawPath无效,画不出来
- Android中Canvas中drawPath或drawTextOnPath画不出来bug总结
- Canvas.drawPath() 设置了alpha值却没有半透明效果的有关问题
- Android开发:canvas.drawTextOnPath()无效----Android4.03的又一个bug!!!!(关于Canvas绘制的方方面面) .
- Android开发:canvas.drawTextOnPath()无效
- Canvas drawImage
- you cannot draw that path looking forward
- 关于Android Canvas.drawText方法中的坐标参数的正确解释
- FLASH CC 2015 CANVAS 中 gotoAndStop、gotoAndPlay() 不起作用
- 关于Android Canvas.drawText方法中的坐标参数的正确解释
- Android Canvas.drawText(...)自动换行
- Android Canvas drawText实现中文垂直居中
- canvas之drawImage
- Canvas&Paint[]Canvas:draw
- canvas drawimage