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

Метод copy

Метод copy класса SpanStyle возвращает новый стиль фрагмента, сохраняя непереданные поля. Так меняют fontSize, fontWeight или color без полной пересборки объекта.

Синтаксис

val accent = base.copy(color = Color.Red)

Параметры

Параметр Описание
color Новый цвет фрагмента. Принимает значение класса Color.
fontSize Новый размер шрифта в sp.
fontWeight Новая толщина. Принимает значение класса FontWeight.

Пример

Давайте скопируем стиль и сделаем фрагмент жирным:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.Text import androidx.compose.ui.graphics.Color import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.withStyle class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val base = SpanStyle(color = Color.Red) val strong = base.copy(fontWeight = FontWeight.Bold) val annotated = buildAnnotatedString { withStyle(strong) { append("abcde") } } Text(text = annotated) } } }

На экране вся строка "abcde" будет красной и жирной.

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

  • метод copy,
    который копирует TextStyle
  • класс SpanStyle,
    стиль фрагмента текста
  • метод pushStyle,
    который включает SpanStyle в builder
  • класс AnnotatedString,
    куда попадает размеченный текст
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить