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

Класс ButtonSegment

Класс ButtonSegment передают в segments у SegmentedButton. Значение сегмента - в value, подпись - в label, иконка - в icon. Выбранный сегмент задают через selected Set у SegmentedButton.

Синтаксис

ButtonSegment<int>( value: 0, label: Text('abcde'), icon: Icon(Icons.home), )

Параметры

Параметр Описание
value Идентификатор сегмента в наборе selected.
label Текст на сегменте.
icon Иконка на сегменте.

Пример

Давайте соберём SegmentedButton из двух сегментов:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: SegDemo())); } class SegDemo extends StatefulWidget { const SegDemo({super.key}); @override State<SegDemo> createState() => _SegDemoState(); } class _SegDemoState extends State<SegDemo> { Set<int> sel = {0}; @override Widget build(BuildContext context) { return Scaffold( body: Center( child: SegmentedButton<int>( segments: [ ButtonSegment(value: 0, label: Text('abcde')), ButtonSegment(value: 1, label: Text('12345')), ], selected: sel, onSelectionChanged: (s) => setState(() => sel = s), ), ), ); } }

Нажатие переключает подсветку между сегментами.

Пример

Давайте добавим icon в сегмент:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: SegmentedButton<int>( segments: [ ButtonSegment( value: 1, icon: Icon(Icons.star), label: Text('abcde'), ), ], selected: {1}, onSelectionChanged: (s) {}, ), ), ), ), ); }

Сегмент показывает звезду и текст 'abcde'.

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

  • виджет SegmentedButton,
    которому передают segments
  • виджет ToggleButtons,
    старый ряд переключателей
  • виджет ChoiceChip,
    метка с выбором одного варианта
  • виджет NavigationBar,
    нижняя навигация Material 3
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить