list_twolevel 0.0.1 copy "list_twolevel: ^0.0.1" to clipboard
list_twolevel: ^0.0.1 copied to clipboard

outdated

A simple two level listbuilder fill with Map<> Obj.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:list_twolevel/list_twolevel.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      title: 'Two Level List',
      home: MyHomePage(),
    );
  }
}

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

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  List<Map<String, String>> oneLevelObj = [
    {'title': 'Vue', 'image': 'assets/Vue.png'},
    {'title': 'Web', 'image': 'assets/Web.png'},
    {'title': 'Flutter', 'image': 'assets/Flutter.png'},
    {'title': 'UnrealEngine', 'image': 'assets/UnrealEngine.png'}
  ];
  List<Map<String, String>> twoLevelObj = [];

  bool _oneLevel = true;

  void twoLevelInit(String oneLevelTitle) {
    twoLevelObj.clear();
    for(var i = 0; i < 5; i++){
      twoLevelObj.add({
        'title': oneLevelTitle+'$i',
      });
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: const Color(0xFF464667),
        body: _oneLevel
            ? ListBuilder(
          oneLevel: _oneLevel,
          levelObj: oneLevelObj,
          backgroundColor: const Color(0xFF2E2E48),
          onPressed: (selectedCategory) {
            if (selectedCategory != 'default') {
              debugPrint('click $selectedCategory ');
              twoLevelInit(selectedCategory);
              setState(() {
                _oneLevel = false;
              });
            }
          },
        )
            :ListBuilder(
          oneLevel: _oneLevel,
          levelObj: twoLevelObj,
          itemHeight: 50,
          backgroundColor: const Color(0xFF2E2E48),
          onPressed: (selectedTitle) {
            if (selectedTitle != 'default') {
              debugPrint('click $selectedTitle ');
              setState(() {
                _oneLevel = true;
              });
            }
          },
        )
    );
  }
}
1
likes
0
points
22
downloads

Publisher

unverified uploader

Weekly Downloads

A simple two level listbuilder fill with Map<> Obj.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on list_twolevel