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

Виджет MergeSemantics

Виджет MergeSemantics объединяет описания вложенных элементов, чтобы диктор прочитал их одним фрагментом. Параметр child задаёт корень группы. Часто оборачивают ряд из иконки и текста.

Синтаксис

MergeSemantics( child: Row( children: [ Icon(Icons.email), Text('abcde'), ], ), )

Параметры

Параметр Описание
child Дочерний виджет, семантику которого нужно слить. Обязательный параметр.

Пример

Давайте объединим иконку и подпись для диктора:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: MergeSemantics( child: Row( mainAxisSize: MainAxisSize.min, children: [ const Icon(Icons.email), const SizedBox(width: 8), const Text('abcde'), ], ), ), ), ), ), ); }

На экране в ряд иконка и текст 'abcde', а диктор воспримет их как один элемент.

Пример

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

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: MergeSemantics( child: Column( mainAxisSize: MainAxisSize.min, children: [ const Text('abcde'), const Text('12345'), ], ), ), ), ), ), ); }

На экране две строки друг под другом, озвучивание пойдёт одним блоком без паузы между ними.

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

  • виджет Semantics,
    который задаёт label и hint вручную
  • виджет ExcludeSemantics,
    который убирает дочерние узлы из дерева
  • виджет SemanticsDebugger,
    который показывает итоговое дерево на экране
  • виджет Row,
    который часто лежит внутри MergeSemantics
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить