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

Метод semantics

Метод semantics интерфейса Modifier открывает блок SemanticsPropertyReceiver. В нём задают contentDescription, роль элемента и другие метаданные. Не меняет внешний вид на экране.

Синтаксис

Modifier.semantics { contentDescription = "label" }

Параметры

Параметр Описание
properties Лямбда с настройками семантики. Часто задают contentDescription или testTag.
mergeDescendants Если true, дочерние элементы сливаются в одну семантическую ноду.

Пример

Давайте зададим описание для текста-кнопки:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.clickable import androidx.compose.material3.Text import androidx.compose.ui.Modifier import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Text( text = "abcde", modifier = Modifier .semantics { contentDescription = "toggle label" } .clickable { }, ) } } }

На экране вид останется прежним, служба accessibility прочитает описание вместо букв на экране.

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

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