Home Mobile GridView in Flutter

GridView in Flutter

0
GridView in Flutter

Halo sobat baraja coding, pada artikel kali ini kita akan membahas tentang GridView in Flutter. GridView adalah sebuah widget yang dapat digeser berbentuk kotak yang digunakan untuk menampung widget seperti text, gambar, dll. 

Step 1. Tambahkan Image

Buatlah sebuah folder dengan nama images lalu tambahkan image seperti berikut

Step 2. Tambahkan Asset Images

Tambahkan asset images pada pubspec.yml seperti berikut

Step 3. Buat Class Info 

Buat file baru dengan nama info.dart lalu tambahkan code seperti berikut

import ‘package:flutter/material.dart’;

class Info extends StatefulWidget {
  const Info({Key? key}) : super(key: key);

  @override
  _InfoState createState() => _InfoState();
}

class _InfoState extends State<Info> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Padding(
        padding: EdgeInsets.only(top: 80, left: 25, right: 24),
        child: ListView(
          children: [
            Column(
              children: [
                Container(
                  child: Row(
                    mainAxisAlignment: MainAxisAlignment.center,
                    children: [
                      Text(
                          “Ciri-Ciri Paket Aqiqah Terbaik Dan\n”
                              “Terpercaya di Padang”,
                          textAlign: TextAlign.center,
                          style: TextStyle(
                              color: Color(0xffF2994A),
                              fontSize: 16,
                              fontWeight: FontWeight.w500,
                              fontFamily: “Poppins”)),
                    ],
                  ),
                ),
              ],
            )
          ],
        ),
      ),
    );
  }
}

Step 4. Tambahkan GridView.count 

Tambahkan GridView.count dengan menambahkan code seperti berikut

Container(
                  width: 400.0,
                  height: 500.0,
                  child: new GridView.count(
                    crossAxisCount: 2,
                    childAspectRatio: 6/7,
                    physics: ClampingScrollPhysics(),
                    children: [
                      Container(
                        width: double.infinity,
                        margin: EdgeInsets.all(5.0),
                        padding: EdgeInsets.only(top: 21),
                        decoration: BoxDecoration(
                          color: Color(0xffF2994A),
                          borderRadius: BorderRadius.circular(10.0),
                        ),
                        child: Container(
                          child: Column(
                              crossAxisAlignment: CrossAxisAlignment.center,
                              children: [
                                Image.asset(‘images/info_1.png’,
                                  width: 73, height: 81,),
                                SizedBox(height: 8,),
                                Text(‘Sesuai\n’
                                    ‘Syariah’, textAlign: TextAlign.center,
                                  style: TextStyle(
                                      color: Colors.white,
                                      fontSize: 16,
                                      fontFamily: “Nunito”,
                                      fontWeight: FontWeight.w400),
                                ),
                              ]
                          ),),),
                      Container(
                        margin: EdgeInsets.all(5.0),
                        padding: EdgeInsets.only(top: 22),
                        decoration: BoxDecoration(
                          color: Color(0xffF2994A),
                          borderRadius: BorderRadius.circular(10.0),
                        ),
                        child: Container(
                            child: Column(
                              crossAxisAlignment: CrossAxisAlignment.center,
                              children: [
                                Image.asset(‘images/info_2.png’,
                                  width: 68, height: 69,),
                                SizedBox(height: 20,),
                                Text(‘Memberikan\n’
                                    ‘Pelayanan yang’
                                    ‘\nmemuaskan’,
                                  style: TextStyle(
                                      color: Colors.white,
                                      fontSize: 16,
                                      fontFamily: “Nunito”,
                                      fontWeight: FontWeight.w400),
                                ),
                              ],
                            )
                        ),
                      ),
                      Container(
                          width: double.infinity,
                          margin: EdgeInsets.all(5),
                          padding: EdgeInsets.only(top: 35),
                          decoration: BoxDecoration(
                            color: Color(0xffF2994A),
                            borderRadius: BorderRadius.circular(10),
                          ),
                          child: Column(
                              crossAxisAlignment: CrossAxisAlignment.center,
                              children: [
                                Image.asset(‘images/info_4.png’,
                                  width: 70, height: 45,),
                                SizedBox(height: 30,),
                                Text(‘Olahan Masakan\n’
                                    ‘Yang Nikmat’,
                                  style: TextStyle(
                                      color: Colors.white,
                                      fontSize: 16,
                                      fontFamily: “Nunito”,
                                      fontWeight: FontWeight.w400),
                                ),
                              ]
                          )
                      ),
                      Container(
                          width: double.infinity,
                          margin: EdgeInsets.all(5),
                          padding: EdgeInsets.only(top: 26),
                          decoration: BoxDecoration(
                            color: Color(0xffF2994A),
                            borderRadius: BorderRadius.circular(10),
                          ),
                          child: Column(
                              crossAxisAlignment: CrossAxisAlignment.center,
                              children: [
                                Image.asset(‘images/info_3.png’,
                                  width: 64, height: 64,),
                                SizedBox(height: 20,),
                                Text(‘Tepat Waktu’,
                                  style: TextStyle(
                                      color: Colors.white,
                                      fontSize: 16,
                                      fontFamily: “Nunito”,
                                      fontWeight: FontWeight.w400),
                                ),
                              ]
                          )
                      ),
                    ],
                  ),
                ),

Hasil Run :

Jadi sekian pada artikel kali ini, sampai jumpa pada artikel selanjutnya. Selamat Mencoba 🙂