瀏覽代碼

feat: add secondary button

Vincent Chan 2 年之前
父節點
當前提交
072d94ebe6
共有 1 個文件被更改,包括 36 次插入1 次删除
  1. 36 1
      frontend/app_flowy/packages/appflowy_popover/example/lib/example_button.dart

+ 36 - 1
frontend/app_flowy/packages/appflowy_popover/example/lib/example_button.dart

@@ -1,8 +1,14 @@
 import 'package:flutter/material.dart';
 import 'package:appflowy_popover/appflowy_popover.dart';
 
-class PopoverMenu extends StatelessWidget {
+class PopoverMenu extends StatefulWidget {
+  @override
+  State<StatefulWidget> createState() => _PopoverMenuState();
+}
+
+class _PopoverMenuState extends State<PopoverMenu> {
   final AppFlowyPopoverController popover = AppFlowyPopoverController();
+  final AppFlowyPopoverController hoverPopover = AppFlowyPopoverController();
   @override
   Widget build(BuildContext context) {
     return Container(
@@ -23,6 +29,35 @@ class PopoverMenu extends StatelessWidget {
             onPressed: () {
               popover.show();
             },
+            onHover: (value) {
+              if (value) {
+                popover.show();
+              } else {
+                popover.close();
+              }
+            },
+            child: const Text("First"),
+          ),
+        ),
+        AppFlowyPopover(
+          controller: hoverPopover,
+          offset: const Offset(10, 0),
+          targetAnchor: Alignment.topRight,
+          followerAnchor: Alignment.topLeft,
+          popupBuilder: (BuildContext context) {
+            return PopoverMenu();
+          },
+          child: TextButton(
+            onPressed: () {
+              hoverPopover.show();
+            },
+            onHover: (value) {
+              if (value) {
+                hoverPopover.show();
+              } else {
+                hoverPopover.close();
+              }
+            },
             child: const Text("Second"),
           ),
         ),