Метод copy
Метод copy класса
TextStyle
возвращает новый стиль с теми же полями,
кроме переданных в аргументах.
Так удобно менять fontSize,
fontWeight, color
или textAlign, не перечисляя всё заново.
Синтаксис
val bold = base.copy(fontWeight = FontWeight.Bold)
Параметры
| Параметр | Описание |
|---|---|
color |
Новый цвет текста. Принимает значение класса
Color.
|
fontSize |
Новый размер шрифта в sp. |
fontWeight |
Новая толщина. Принимает значение класса
FontWeight.
|
textAlign |
Новое выравнивание. Принимает значение перечисления
TextAlign.
|
Пример
Давайте возьмём базовый стиль и сделаем текст жирным:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.Text
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.sp
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
val base = TextStyle(fontSize = 18.sp)
val strong = base.copy(fontWeight = FontWeight.Bold)
Text(text = "abcde", style = strong)
}
}
}
На экране строка "abcde"
сохранит размер 18 sp и станет жирной.