👨‍🏫12 List<Map<String, dynamic>>

import 'package:flutter/material.dart';

class Lesson24 extends StatefulWidget {
  const Lesson24({super.key});

  @override
  State<Lesson24> createState() => _Lesson24State();
}

class _Lesson24State extends State<Lesson24> {
  // Dart
  String name = 'Baias';
  int age = 19;
  double kg = 23.09;
  bool isAdult = true;

  // Flutter
  Color green = Colors.green;
  Widget container = Container();

  // Collection
  List<String> names = [];
  List<int> ages = [12, 434, 56];
  List<double> kgs = [34.98, 90.89];
  List<bool> isAdults = [true, false];

  List<Widget> children = [AppBar(), Container()];
  List<Color> colors = [Colors.orange, Colors.white];

  List<bool> isLike = [false, false];
  List<String> images = ['assets/apple.png', 'assets/peach.png'];

  Map<String, String> surnames = {'rajapov': 'Eldiar', 'azimbekov': 'Daniel'};

  Map<int, String> listData = {1: 'Eldiar', 2: 'Daniel', 3: 'Madina'};

  Map<String, dynamic> person = {
    'name': 'Nurjigit',
    'surname': 'Altynbekov',
    'age': 14,
    'address': 'Moskovsc',
    'isLike': false,
    'height': 164.8,
    'hobbies': ['Flutter', 'Math', ''],
    'phone': '07096756757',
  };

  Map<String, dynamic> product = {
    'isLike': true,
    'image': 'assets/leaf.png',
    'name': 'Nike',
    'price': 99,
    
  };
  
  Map<String, dynamic> product2 = {
    
  };

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: GridView(
        padding: EdgeInsets.all(10),
        gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
          crossAxisCount: 2,
          mainAxisSpacing: 10,
          crossAxisSpacing: 10,
          childAspectRatio: 0.67,
        ),
        children: [
          Column(
            crossAxisAlignment: .start,
            children: [
              Container(
                height: 250,
                width: double.infinity,
                decoration: BoxDecoration(
                  color: Colors.grey.shade400,
                  image: DecorationImage(image: AssetImage(product['image'])),
                ),
                child: Align(
                  alignment: Alignment.topRight,
                  child: IconButton(
                    isSelected: product['isLike'],
                    onPressed: () {
                      setState(() {
                        product['isLike'] = !product['isLike'];
                      });
                    },
                    icon: Icon(Icons.favorite_border),
                    selectedIcon: Icon(Icons.favorite, color: Colors.red),
                  ),
                ),
              ),
              Text(product['name']),
              Text('${product['price']}'),
            ],
          ),
        ],
      ),
    );
  }
}

Last updated