on_popup_window_widget 0.0.6 copy "on_popup_window_widget: ^0.0.6" to clipboard
on_popup_window_widget: ^0.0.6 copied to clipboard

An awesome popup widget that fulfills all your demands in dialog. Supports material 3

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:on_popup_window_widget/on_popup_window_widget.dart';
import 'package:on_process_button_widget/on_process_button_widget.dart';

void main(List<String> args) {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
          useMaterial3: false,
          colorScheme: ColorScheme.fromSeed(
              seedColor: Colors.blue, brightness: Brightness.dark)),
      darkTheme: ThemeData(
          useMaterial3: false,
          colorScheme: ColorScheme.fromSeed(
              seedColor: Colors.blue, brightness: Brightness.dark)),
      themeMode: ThemeMode.light,
      // themeMode: ThemeMode.dark,
      home: Scaffold(
        body: SafeArea(
          child: Padding(
            padding: const EdgeInsets.symmetric(vertical: 24),
            child: Center(
              child: MainWidget(),
            ),
          ),
        ),
      ),
    );
  }
}

class MainWidget extends StatelessWidget {
  MainWidget({super.key});

  final List<String> lan = [
    "Bangle",
    "English",
    "Spanish",
    "French",
    "German",
    "Chinese",
    "Hindi",
    "Arabic",
    "Russian",
    "Portuguese",
    "Japanese",
    "Italian",
  ];

  List<Widget> children(BuildContext context) {
    List<Widget> res = lan
        .map(
          (e) => Text(e),
        )
        .toList();

    return res + res;
  }

  @override
  Widget build(BuildContext context) {
    return Column(
      mainAxisSize: MainAxisSize.min,
      children: [
        //! Responsive
        OnProcessButtonWidget(
          expanded: false,
          onTap: () => showDialog(
            context: context,
            builder: (context) => OnPopupWindowWidget(
              title: const Text("Please select your Language"),
              footer: const OnProcessButtonWidget(
                  expanded: false, child: Text("Okay")),
              child: Column(children: children(context)),
            ),
          ),
          child: const Text("Press here"),
        ),

        //! Overlay Widget
        OnProcessButtonWidget(
          expanded: false,
          onTap: () => showDialog(
            context: context,
            builder: (context) => OnPopupWindowWidget(
              title: const Text("Please select your Language"),
              footer: const OnProcessButtonWidget(
                  expanded: false, child: Text("Okay")),
              overlapChildren: const [
                Positioned(
                  right: -10,
                  top: -10,
                  child: OnProcessButtonWidget(
                    contentPadding: EdgeInsets.zero,
                    child: Icon(Icons.cancel, color: Colors.white),
                  ),
                ),
              ],
              child: Column(children: children(context)),
            ),
          ),
          child: const Text("Overlay Widget"),
        ),

        //! Widget Mode
        Expanded(
          child: Center(
            child: OnPopupWindowWidget.widgetMode(
              title: const Text("Please select your Language"),
              footer: const OnProcessButtonWidget(
                  expanded: false, child: Text("Okay")),
              overlapChildren: const [
                Positioned(
                  right: -10,
                  top: -10,
                  child: OnProcessButtonWidget(
                    contentPadding: EdgeInsets.zero,
                    child: Icon(Icons.cancel, color: Colors.white),
                  ),
                ),
              ],
              child: Column(children: children(context)),
            ),
          ),
        )
      ],
    );
  }
}
5
likes
0
pub points
74%
popularity

Publisher

unverified uploader

An awesome popup widget that fulfills all your demands in dialog. Supports material 3

Repository (GitHub)
View/report issues

Topics

#popup-window #dialog

License

unknown (license)

Dependencies

flutter

More

Packages that depend on on_popup_window_widget