Как сделать закругленный угол в drawLine в компоновке джетпака

Я использую Canvas Api, чтобы что-то нарисовать. Я хочу нарисовать линию с закругленным углом. Линия рисуется без проблем. Но я не могу понять, какой атрибут для углового радиуса.

val boxSize = 30.dp

Box(modifier = Modifier
            .background(Color.LightGray)
            .height(height = boxSize)
    ) {
        Canvas(
            modifier = Modifier
                .fillMaxWidth()
        ) {
            val canvasWidth = size.width
            drawLine(
                start = Offset(x = 0f, y = (boxSize / 2).toPx()),
                end = Offset(x = canvasWidth, y = (boxSize / 2).toPx()),
                color = Color.Black,
                strokeWidth = 8.dp.toPx()
            )

        }
    }

Мой вид простой без углового радиуса.

Я хочу, чтобы моя черная линия была угловой для каждой стороны с определенным радиусом.

Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Веб-скрейпинг, как мы все знаем, это дисциплина, которая развивается с течением времени. Появляются все более сложные средства борьбы с ботами, а...
Калькулятор CGPA 12 для семестра
Калькулятор CGPA 12 для семестра
Чтобы запустить этот код и рассчитать CGPA, необходимо сохранить код как HTML-файл, а затем открыть его в веб-браузере. Для этого выполните следующие...
ONLBest Online HTML CSS JAVASCRIPT Training In INDIA 2023
ONLBest Online HTML CSS JAVASCRIPT Training In INDIA 2023
О тренинге HTML JavaScript :HTML (язык гипертекстовой разметки) и CSS (каскадные таблицы стилей) - две основные технологии для создания веб-страниц....
Как собрать/развернуть часть вашего приложения Angular
Как собрать/развернуть часть вашего приложения Angular
Вам когда-нибудь требовалось собрать/развернуть только часть вашего приложения Angular или, возможно, скрыть некоторые маршруты в определенных средах?
Запуск PHP на IIS без использования программы установки веб-платформы
Запуск PHP на IIS без использования программы установки веб-платформы
Установщик веб-платформы, предлагаемый компанией Microsoft, перестанет работать 31 декабря 2022 года. Его закрытие привело к тому, что мы не можем...
Оптимизация React Context шаг за шагом в 4 примерах
Оптимизация React Context шаг за шагом в 4 примерах
При использовании компонентов React в сочетании с Context вы можете оптимизировать рендеринг, обернув ваш компонент React в React.memo сразу после...
0
0
59
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам нужно добавить аргумент cap к drawLine и установить его в StrokeCap.Round.

 drawLine(
     start = Offset(x = 0f, y = (boxSize / 2).toPx()),
     end = Offset(x = canvasWidth, y = (boxSize / 2).toPx()),
     color = Color.Black,
     strokeWidth = 8.dp.toPx(),
     cap = StrokeCap.Round, //add this line for rounded edges
)

Как я могу указать радиус крышки?

Vivek Modi 12.02.2023 19:05

@VivekModi в этом случае нельзя. Он основан на ширине штриха линии.

Gabriele Mariotti 12.02.2023 20:51

Другие вопросы по теме