Button

 Kali ini kita akan belajar menggunakan widget button. Widget button ini adalah widget yang dapat menerima trigger sentuhan atau dapat melakukan suatu fungsi ketika disentuh, widget-widget button tersebut antara lain:


ElevatedButton

ElevatedButton merupakan bagian dari Material Design widget dari Flutter. Untuk menggunakan ElevatedButton caranya seperti berikut:

  1. ElevatedButton(
  2.   child: const Text("Tombol"),
  3.   onPressed: () {
  4.     // Aksi ketika button diklik
  5.   },
  6. ),

Pada kode di atas ElevatedButton memiliki 2 parameter yaitu onPressed dan child. Parameter onPressed merupakan sebuah function event ketika tombol ditekan dan sebenarnya ada event lain seperti onLongPress dan onHighlightChanged. Parameter child diisi oleh widget pada umumnya.

202104251352136a73d33e8f3402d9b38982135894530a.jpeg


TextButton

TextButton merupakan widget button yang memiliki tampilan yang polos selayaknya Text. TextButton umumnya digunakan pada toolbars, dialog, atau bersama komponen button lain. Contoh kode dari TextButton adalah seperti berikut:

  1. TextButton(
  2.   child: const Text('Text Button'),
  3.   onPressed: () {
  4.     // Aksi ketika button diklik
  5.   },
  6. ),

Sama halnya ElevatedButton, TextButton juga memiliki parameter onPressed dan child.

20210425135351db0b26899a4a925bb3b9957298cfa842.jpeg


OutlinedButton

OutlinedButton juga merupakan bagian dari material design yang menyediakan tampilan TextButton dengan tambahan outline. OutlinedButton umumnya digunakan untuk tombol atau aksi yang penting, tetapi bukan aksi utama dalam aplikasi.

Berikut ini adalah contoh widget OutlinedButton:

  1. OutlinedButton(
  2.   child: const Text('Outlined Button'),
  3.   onPressed: () {
  4.     // Aksi ketika button diklik
  5.   },
  6. ),

Tampilan OutlinedButton sendiri akan seperti berikut:

20210425135549bec2472c048d1749041c5268861eb51a.jpeg


IconButton

IconButton merupakan widget button dengan icon. Tak seperti widget tombol lainnya, widget IconButton ini tidak memiliki child. Perhatikan kode di bawah ini:

  1. IconButton(
  2.   icon: const Icon(Icons.volume_up),
  3.   tooltip: 'Increase volume by 10',
  4.   onPressed: () {
  5.     // Aksi ketika button diklik
  6.   },
  7. ),

Seperti yang kita lihat di atas, IconButton tidak menggunakan child untuk isi (content) melainkan menggunakan parameter icon dan tooltip (penunjuk) untuk memberikan hint pada tombol.
202006151939145295ed95945289ccf061a9250264d33f.jpeg

 

DropdownButton

DropdownButton merupakan tombol yang saat diklik, akan muncul pop-up daftar beberapa item yang dapat kita pilih salah satu. Berikut contoh kodenya:

  1. class FirstScreen extends StatefulWidget {
  2.   const FirstScreen({Key? key}) : super(key: key);
  3.  
  4.   @override
  5.   State<FirstScreen> createState() => _FirstScreenState();
  6. }
  7.  
  8. class _FirstScreenState extends State<FirstScreen> {
  9.   String? language;
  10.  
  11.   @override
  12.   Widget build(BuildContext context) {
  13.     return Scaffold(
  14.       appBar: AppBar(
  15.         title: const Text('First Screen'),
  16.       ),
  17.       body: DropdownButton<String>(
  18.         items: const <DropdownMenuItem<String>>[
  19.           DropdownMenuItem<String>(
  20.             value: 'Dart',
  21.             child: Text('Dart'),
  22.           ),
  23.           DropdownMenuItem<String>(
  24.             value: 'Kotlin',
  25.             child: Text('Kotlin'),
  26.           ),
  27.           DropdownMenuItem<String>(
  28.             value: 'Swift',
  29.             child: Text('Swift'),
  30.           ),
  31.         ],
  32.         value: language,
  33.         hint: const Text('Select Language'),
  34.         onChanged: (String? value) {
  35.           setState(() {
  36.             language = value;
  37.           });
  38.         },
  39.       ),
  40.     );
  41.   }
  42. }

Pada contoh tersebut DropdownButton tidak menggunakan child maupun children, akan tetapi menggunakan items di mana berisi list dari widget DropdownMenuItem. Pada widget DropdownMenuItem terdapat child untuk tiap itemnya dan value yang ada pada DropdownMenuItem adalah nilai dari tiap itemnya. Nantinya akan dibutuhkan parameter onChanged ketika ada perubahan atau ketika memilih salah satu dari item tersebut dan mengubah nilai language atau value dari DropdownButton tersebut. Sedangkan hint berfungsi ketika nilai value dari DropdownButton null atau kosong.

20210425135701458334fcadd3cc47c3fbbc0d7379d47d.gif

Selengkapnya tentang berbagai widget Button, bacalah pada tautan berikut:

Popular posts from this blog

Build APK

Generic

Build IPA