Posts

Membuat Widget Wrap Pada Flutter

Bismillah, pada kali ini kita akan mencoba membuat widget Wrap pada Flutter dan kita juga akan menggunakan widget Chip untuk membuat tombol-tombol kecil.

Wrap adalah istilah dimana ketika sebuah widget yang telah memenuhi layar secara horizontal, maka widget tersebut akan otomatis pindah ke bawah.

kita lanjut dengan membuat sebuah project baru seperti berikut

Jika sudah, maka kita buat sebuah halaman baru seperti berikut

class HomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Wrap Widget"),
      ),
      body: Column(
        children: <Widget>[
          Padding(
            padding: const EdgeInsets.all(8.0),
            child: Wrap(
              spacing: 4,
              runSpacing: 1,
              children: <Widget>[
                loadChip("Syahrizal Akbar", "SA"),
                loadChip("Ahmad Maulana", "AM"),
                loadChip("Bambang Sudimara", "BS"),
                loadChip("Dodo Putra", "DP"),
                loadChip("Jamil Jiddan", "JJ"),
                loadChip("Jadene Brewer", "JB"),
                loadChip("Amar Carter", "AC"),
                loadChip("Jamel Howard", "JH"),
                loadChip("Dulcie Foster", "DF"),
                loadChip("Cyrus Wardle", "CW"),
                loadChip("Kealan Connelly", "KC"),
                loadChip("Teri Shepard", "TS"),
                loadChip("Luca Rawlings", "LR"),
                loadChip("Marlie Rose", "MR"),
                loadChip("Taya Cowan", "TC"),
              ],
            ),
          )
        ],
      ),
    );
  }
  
  Chip loadChip(String name, String alias) {
    return Chip(
      avatar: CircleAvatar(backgroundColor: randomColor(), child: Text(alias, style: TextStyle(color: Colors.white, fontSize: 10),)),
      label: Text(name, style: TextStyle(fontSize: 10),)
    );
  }

  // mengembalikan warna secara acak
  Color randomColor() {
    List color = [Colors.blue,
      Colors.green,
      Colors.red,
      Colors.purple,
      Colors.pink,
      Colors.orange];
    return color[Random().nextInt(color.length)];
  }
}

dan jika kita run, maka hasilnya seperti berikut :

Leave a Reply :

* Your email address will not be published.