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

Функция SelectionContainer

Функция SelectionContainer оборачивает дочерние composable и включает для них выделение текста жестами и клавиатурой. Содержимое передают в лямбду content. Чаще всего внутри ставят функцию Text или текст с разметкой.

Синтаксис

SelectionContainer { Text(text = "abcde") }

Параметры

Параметр Описание
content Лямбда с текстовыми composable, для которых нужно выделение.

Пример

Давайте разрешим выделять одну строку:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.text.selection.SelectionContainer import androidx.compose.material3.Text class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { SelectionContainer { Text(text = "abcde") } } } }

На экране текст "abcde" можно выделить и скопировать, как в обычном поле.

Пример

Давайте обернём два текста в один контейнер:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.layout.Column import androidx.compose.foundation.text.selection.SelectionContainer import androidx.compose.material3.Text class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { SelectionContainer { Column { Text(text = "abcde") Text(text = "12345") } } } } }

На экране обе строки участвуют в одном блоке выделения внутри столбца.

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

  • функция Text,
    которая рисует строку на экране
  • класс AnnotatedString,
    который хранит текст с разной разметкой по частям
  • класс LinkAnnotation,
    который помечает кликабельные фрагменты в тексте
  • функция Column,
    которая ставит дочерние элементы в вертикальный столбец
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить