uikit_plus 0.4.0 copy "uikit_plus: ^0.4.0" to clipboard
uikit_plus: ^0.4.0 copied to clipboard

This is a Dart-supported, cross-platform UI component library that includes various custom components to help you quickly build projects and focus more on your business development. (The old package f [...]

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:uikit_plus/uikit_lib.dart';
import 'package:uikit_example/radar_chart_example.dart';
import 'date_select_example.dart';
import 'input_example.dart';
import 'infinite_levels_example.dart';
import 'pager_example.dart';
import 'shimmer_example.dart';
import 'tableview_example.dart';
import 'city_picker_example.dart';
import 'input_extend_example.dart';
import 'often_widget_example.dart';
import 'selection_menu_example.dart';
import 'toast_example.dart';


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

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

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  List<Widget> funList = [];
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      navigatorKey: Toast.navigatorState,
      builder: (context, child) => Scaffold(
        body: GestureDetector(
          onTap: () {
            FocusScopeNode currentFocus = FocusScope.of(context);
            if (!currentFocus.hasPrimaryFocus && currentFocus.focusedChild != null) {
              FocusManager.instance.primaryFocus?.unfocus();
            }
          },
          child: child,
        ),
      ),
      home: Scaffold(
        backgroundColor: Colors.purple,
        resizeToAvoidBottomInset: false,
        body: LayoutBuilder(
          builder:(context,_){

            _createMenus(context);

            return GridView.builder(
                itemCount: funList.length,
                gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
                    crossAxisCount: 5,
                    mainAxisSpacing: 10,
                    crossAxisSpacing: 10,
                    childAspectRatio: 3/1
                ), itemBuilder: (context,index){

              return  funList[index];
            });
          } ,
        ),
      ),
    );
  }

  void _createMenus(BuildContext context){
    funList = [
      createMenu("toast", context,const ToastExample()),
      createMenu("城市选择", context,const CityPickerExample()),
      createMenu("日期选择器",context, const DateSelectExample()),
      createMenu("多维度雷达组件",context, const RadarChartExample()),
      createMenu("输入框",context,  const InputExample()),
      createMenu("输入框拓展",context, const InputExtendExample()),
      createMenu("表格布局",context, const TableViewExample()),
      createMenu("无限层级菜单",context, const InfiniteLevelsExample()),
      createMenu("仿系统下拉框",context, const SelectionMenuExample()),
      createMenu("分页组件",context, const PagerExample()),
      createMenu("微光加载效果",context, const ShimmerLoadingExample()),
      createMenu("常用小组件",context, const OftenWidgetExample()),
    ];
  }



  Widget createMenu(String title,BuildContext context,dynamic page){

    return InkWell(
        onTap: () {
          pushPage(context, page);
        },
        child: Container(
          alignment: Alignment.center,
          color: Colors.lightBlue,
          child: Text(title),
        ));
  }

  void pushPage(context, page) {
    Navigator.push(
      context,
      MaterialPageRoute(builder: (context) {
        return page;
      }),
    );
  }
}
1
likes
130
points
106
downloads

Publisher

unverified uploader

Weekly Downloads

This is a Dart-supported, cross-platform UI component library that includes various custom components to help you quickly build projects and focus more on your business development. (The old package flutter_uikit_forzzh has been migrated here)

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on uikit_plus

Packages that implement uikit_plus