Функция Text
Функция Text рисует текст на экране.
Строку передают в параметр text
или объект класса
AnnotatedString.
Вид текста задают параметры style,
color, fontSize,
fontWeight и textAlign.
Если строка не помещается, помогают
maxLines и overflow.
Синтаксис
Text(text = "abcde")
Параметры
| Параметр | Описание |
|---|---|
text |
Строка или размеченный текст типа
AnnotatedString, который нужно показать.
|
style |
Общий стиль абзаца. Принимает значение класса
TextStyle.
|
color |
Цвет текста. Принимает значение класса
Color.
|
fontSize |
Размер шрифта в sp. |
fontWeight |
Толщина шрифта. Принимает значение класса
FontWeight.
|
fontStyle |
Начертание. Принимает значение перечисления
FontStyle.
|
fontFamily |
Гарнитура. Принимает значение класса
FontFamily.
|
textDecoration |
Подчёркивание или зачёркивание. Принимает значение класса
TextDecoration.
|
textAlign |
Выравнивание строк внутри области текста.
Принимает значение перечисления
TextAlign.
|
overflow |
Как обрезать текст, если он не помещается.
Принимает значение перечисления
TextOverflow.
|
maxLines |
Максимальное число строк. Часто ставят вместе
с параметром overflow.
|
softWrap |
Разрешить перенос слов на следующую строку. |
Пример
Давайте выведем обычную строку:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.Text
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Text(text = "abcde")
}
}
}
На экране появится текст "abcde"
стилем темы по умолчанию.
Пример
Давайте сделаем текст жирным и обрежем длинную строку:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.width
import androidx.compose.material3.Text
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Text(
text = "12345",
modifier = Modifier.width(36.dp),
fontWeight = FontWeight.Bold,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
}
}
}
На экране строка займёт одну линию, лишнее скроется многоточием в конце.
Смотрите также
-
функция
SelectionContainer,
которая включает выделение текста на экране -
класс
AnnotatedString,
который хранит текст с разными стилями по фрагментам -
класс
TextStyle,
который задаёт общий вид абзаца -
перечисление
TextOverflow,
которое выбирает способ обрезки длинного текста