Android 为什么在画布上画虚线不起作用?

Android 为什么在画布上画虚线不起作用?,android,canvas,Android,Canvas,为什么以下代码适用于Pixel 2,但不适用于Samsung Note 8 linePaint.let { paint -> paint.style = Paint.Style.STROKE paint.color = ContextCompat.getColor(context, R.color.red) paint.strokeWidth = 10 paint.pathEffect = DashPathEffect(floatArrayOf(10

为什么以下代码适用于Pixel 2,但不适用于Samsung Note 8

linePaint.let { paint ->
     paint.style = Paint.Style.STROKE
     paint.color = ContextCompat.getColor(context, R.color.red)
     paint.strokeWidth = 10
     paint.pathEffect = DashPathEffect(floatArrayOf(10, 20), 0f)
}

canvas.drawLine(0, canvas.height / 2, canvas.width, canvas.height / 2, linePaint) 

我看到了使用android的提示:hardwareAccelerated=false,但它不起作用,因为在视图类上出现性能问题,所以应该禁用硬件加速。这将使您能够绘制虚线和虚线

您可以通过以下方式完成此操作:

setLayerType(View.LAYER_TYPE_SOFTWARE, null);

在视图类上,应该禁用硬件加速。这将使您能够绘制虚线和虚线

您可以通过以下方式完成此操作:

setLayerType(View.LAYER_TYPE_SOFTWARE, null);

同样的问题:-同样的问题:-