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

outdated

A new Flutter dialog package.

example/lib/main.dart

import 'package:dh_dialog/dh_dialog.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

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

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

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

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    List<DialogListItem> weeks = <DialogListItem>[
      DialogListItem<ChoiceItem, String>(
          ChoiceItem(
              imgWidth: 22,
              imgHeight: 22,
              text: Selected.all("星期天"),
              image: Selected.normal(
                  normal: '$imagePathPrefix/check_nor.png',
                  active: '$imagePathPrefix/check_sel.png'),
              selected: false),
          data: "0"),
      DialogListItem<ChoiceItem, String>(
          ChoiceItem(
              imgWidth: 22,
              imgHeight: 22,
              text: Selected.all("星期一"),
              image: Selected.normal(
                  normal: '$imagePathPrefix/check_nor.png',
                  active: '$imagePathPrefix/check_sel.png'),
              selected: false),
          data: "1"),
      DialogListItem<ChoiceItem, String>(
          ChoiceItem(
              imgWidth: 22,
              imgHeight: 22,
              text: Selected.all("星期二"),
              image: Selected.normal(
                  normal: '$imagePathPrefix/check_nor.png',
                  active: '$imagePathPrefix/check_sel.png'),
              selected: false),
          data: "2"),
      DialogListItem<ChoiceItem, String>(
          ChoiceItem(
              imgWidth: 22,
              imgHeight: 22,
              text: Selected.all("星期三"),
              textStyle: Selected.normal(
                  normal: TextStyle(color: Colors.black, fontSize: 12),
                  active: TextStyle(color: Colors.red, fontSize: 14)),
              image: Selected.normal(
                  normal: '$imagePathPrefix/check_nor.png',
                  active: '$imagePathPrefix/check_sel.png'),
              selected: false),
          data: "3"),
      DialogListItem<ChoiceItem, String>(
          ChoiceItem(
              imgWidth: 22,
              imgHeight: 22,
              text: Selected.all("星期四"),
              image: Selected.normal(
                  normal: '$imagePathPrefix/check_nor.png',
                  active: '$imagePathPrefix/check_sel.png'),
              selected: false),
          data: "4"),
      DialogListItem<ChoiceItem, String>(
          ChoiceItem(
              imgWidth: 22,
              imgHeight: 22,
              text: Selected.all("星期五"),
              image: Selected.normal(
                  normal: '$imagePathPrefix/check_nor.png',
                  active: '$imagePathPrefix/check_sel.png'),
              selected: false),
          data: "5"),
      DialogListItem<ChoiceItem, String>(
          ChoiceItem(
              imgWidth: 22,
              imgHeight: 22,
              text: Selected.all("星期六"),
              image: Selected.normal(
                  normal: '$imagePathPrefix/check_nor.png',
                  active: '$imagePathPrefix/check_sel.png'),
              selected: false),
          data: "6"),
    ];

    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            FlatButton(
                onPressed: () {
                  showDHDialog(
                      context: context,
                      builder: (context) {
                        return DHAlertDialog(
                          titleText: "Title",
                          contentText: "Content",
                          hasPositive: true,
                          hasNegative: false,
                          positiveTap: () => dismissDHDialog(context),
                        );
                      },
                      entryAnimation: EntryAnimation.slideBottom);
                },
                child: Text("AlertDialog")),
            FlatButton(
                onPressed: () {
                  showDHDialog(
                      entryAnimation: EntryAnimation.slideBottom,
                      context: context,
                      builder: (context) {
                        return DHListDialog(
                          titleText: "班级",
                          titleAlign: TextAlign.center,
                          datas: [
                            DialogListItem<TextItem, String>(
                                TextItem(text: "高一(1)班"),
                                data: "1"),
                            DialogListItem<TextItem, String>(
                                TextItem(text: "高一(2)班"),
                                data: "2"),
                            DialogListItem<TextItem, String>(
                                TextItem(text: "高一(3)班"),
                                data: "3"),
                          ],
                          itemAlignment: Alignment.centerLeft,
                          itemClickListener: (data, position, context) {
                            print('data: $data, position: $position');
                            dismissDHDialog(context);
                          },
                          dividerColor: Colors.yellow,
                          itemDividerBuilder: (context, index) => Container(
                              color: Colors.red,
                              height: 1.0,
                            ),
                          actionDividerBuilder: (context, type) {
                            return Container(
                              color: Colors.purple,
                              height:
                                  type == DividerType.horizontal ? 1.0 : null,
                              width: type == DividerType.vertical ? 1.0 : null,
                            );
                          },
                        );
                      });
                },
                child: Text("ListDialog")),
            FlatButton(
              onPressed: () {
                showDHDialog(
                    entryAnimation: EntryAnimation.slideBottom,
                    context: context,
                    builder: (context) {
                      return DHChoiceDialog(
                        titleText: "重复",
                        itemAlignment: Alignment.centerLeft,
                        datas: weeks,
                        multiChose: false,
                      );
                    });
              },
              child: Text("SingleChoiceDialog"),
            ),
            FlatButton(
              onPressed: () {
                showDHDialog(
                    entryAnimation: EntryAnimation.slideBottom,
                    context: context,
                    builder: (context) {
                      return DHChoiceDialog(
                        titleText: "重复",
                        itemAlignment: Alignment.centerLeft,
                        datas: weeks,
                        multiChose: true,
                        // itemDividerBuilder: (context, index) => Container(
                        //   color: ,
                        // ),
                      );
                    });
              },
              child: Text("MultipleChoiceDialog"),
            ),
            FlatButton(
              onPressed: () {
                showDHDialog(
                    entryAnimation: EntryAnimation.slideBottom,
                    context: context,
                    builder: (context) {
                      TextEditingController editController;
                      var getter = (controller)=> editController = controller;

                      return DHInputDialog(
                        titleText: "用户名",
                        filled: true,
                        style: TextStyle(color: Colors.black, fontSize: 15),
                        borderStyle: InputBorderStyle.outline,
                        controllerGetter: getter,
                        keyboardType: TextInputType.number,
                        hintText: "请输入用户名",
                        suffixOnTap: ()=> editController.text = "",
                        suffix: Text("删除", style: TextStyle(color: Colors.pink, fontSize: 12),),
                        positiveTap: (result){
                          dismissDHDialog(context);
                        },
                        negativeTap: (result){
                          dismissDHDialog(context);
                        },
                      );
                    });
              },
              child: Text("InputDialog"),
            )
          ],
        ),
      ),
    );
  }
}

const String imagePathPrefix = "assets/images";
1
likes
0
pub points
30%
popularity

Publisher

unverified uploader

A new Flutter dialog package.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on dh_dialog