Advertisement
yudiwibisono

segmentendbutton

May 18th, 2023
1,215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Dart 1.40 KB | None | 0 0
  1. import 'package:flutter/material.dart';
  2.  
  3. void main() {
  4.   runApp(const MyApp());
  5. }
  6.  
  7. enum Sizes { extraSmall, small, medium, large, extraLarge }
  8.  
  9. class MyApp extends StatefulWidget {
  10.   const MyApp({Key? key}) : super(key: key);
  11.   @override
  12.   State<StatefulWidget> createState() {
  13.     return MyAppState();
  14.   }
  15. }
  16.  
  17. class MyAppState extends State<MyApp> {
  18.   //mana yang dipilih
  19.   Set<Sizes> selection = <Sizes>{Sizes.large, Sizes.extraLarge};
  20.  
  21.   @override
  22.   Widget build(Object context) {
  23.     return MaterialApp(
  24.       theme: ThemeData(useMaterial3: true),
  25.       home: Scaffold(
  26.         body: Center(
  27.             child: SegmentedButton<Sizes>(
  28.           segments: const <ButtonSegment<Sizes>>[
  29.             ButtonSegment<Sizes>(value: Sizes.extraSmall, label: Text('XS')),
  30.             ButtonSegment<Sizes>(value: Sizes.small, label: Text('S')),
  31.             ButtonSegment<Sizes>(value: Sizes.medium, label: Text('M')),
  32.             ButtonSegment<Sizes>(
  33.               value: Sizes.large,
  34.               label: Text('L'),
  35.             ),
  36.             ButtonSegment<Sizes>(value: Sizes.extraLarge, label: Text('XL')),
  37.           ],
  38.           selected: selection,
  39.           onSelectionChanged: (Set<Sizes> newSelection) {
  40.             setState(() {
  41.               selection = newSelection;
  42.             });
  43.           },
  44.           multiSelectionEnabled: true,
  45.         )
  46.         ),
  47.       ),
  48.     );
  49.   }
  50. }
  51.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement