Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
95 of 502 menu
◀ ▶

Класс BorderStroke

Класс BorderStroke описывает линию рамки: толщину в Dp и заливку линии классом Color или Brush. Объект передают в перегрузку border вместе с Shape, когда толщину и цвет удобнее держать в одной переменной.

Синтаксис

BorderStroke(2.dp, Color.Black)

Пример

Давайте обведём текст через BorderStroke:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.border import androidx.compose.foundation.layout.padding import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.Text import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val frame = BorderStroke(2.dp, Color.Black) Text( text = "abcde", modifier = Modifier .border( border = frame, shape = RoundedCornerShape(8.dp), ) .padding(12.dp), ) } } }

На экране вокруг текста появится чёрная рамка толщиной 2 dp со скруглением.

Пример

Давайте зададим обводку градиентом через Brush:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.border import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.Text import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Brush import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val line = Brush.horizontalGradient( listOf(Color.Red, Color.Blue), ) val frame = BorderStroke(3.dp, line) Text( text = "12345", modifier = Modifier .size(140.dp) .border( border = frame, shape = RoundedCornerShape(12.dp), ), ) } } }

На экране рамка плавно перейдёт от красного к синему по горизонтали.

Смотрите также

  • метод border,
    куда передают BorderStroke
  • класс Color,
    однотонная линия обводки
  • класс Brush,
    градиентная линия обводки
  • класс RoundedCornerShape,
    форма контура рамки
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить