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

Виджет ExcludeSemantics

Виджет ExcludeSemantics отрезает поддерево от озвучивания: декоративные иконки и фон не мешают навигации диктора. Параметр excluding включает или выключает исключение, по умолчанию true. child задаёт скрываемую область.

Синтаксис

ExcludeSemantics( child: Icon(Icons.star), )

Параметры

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

Пример

Давайте спрячем декоративную звезду от диктора:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: Row( mainAxisSize: MainAxisSize.min, children: [ const Text('abcde'), ExcludeSemantics( child: Icon(Icons.star, color: Colors.amber), ), ], ), ), ), ), ); }

На экране текст и звезда видны зрячему пользователю, диктор прочитает только 'abcde'.

Пример

Давайте временно вернём семантику через excluding:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: ExcludeSemantics( excluding: false, child: const Text('12345'), ), ), ), ), ); }

На экране строка '12345' снова доступна диктору, потому что исключение выключено.

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

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