Почему рисовать штриховые линии на холсте не работает? - PullRequest
2 голосов
/ 17 апреля 2019

Почему следующий код работает на 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", но он не работает из-за проблем с производительностью

1 Ответ

0 голосов
/ 17 апреля 2019

В вашем классе View вы должны отключить аппаратное ускорение.Это позволит вам рисовать пунктирные и пунктирные линии

Вы можете сделать это:

setLayerType(View.LAYER_TYPE_SOFTWARE, null);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...