Как использовать андроид холст, чтобы нарисовать прямоугольник только с верхним и верхним углами? - PullRequest
43 голосов
/ 05 мая 2011

Я нашел функцию для прямоугольников со всеми четырьмя углами, закругленными, но я хочу, чтобы только верхние 2 угла были круглыми. Что я могу сделать?

canvas.drawRoundRect(new RectF(0, 100, 100, 300), 6, 6, paint);

Ответы [ 11 ]

1 голос
/ 16 января 2019

Использование PaintDrawable может быть лучше:

    val topLeftRadius = 10
    val topRightRadius = 10
    val bottomLeftRadius = 0
    val bottomRightRadius = 0
    val rect = Rect(0, 0, 100, 100)
    val paintDrawable = PaintDrawable(Color.RED)
    val outter = floatArrayOf(topLeftRadius, topLeftRadius, topRightRadius, topRightRadius,
            bottomLeftRadius, bottomLeftRadius, bottomRightRadius, bottomRightRadius)
    paintDrawable.setCornerRadii(outter)
    paintDrawable.bounds = rect
    paintDrawable.draw(canvas)
...