单页中可以有 2 个抽屉吗?

问题描述 投票:0回答:1

我通过触发 enddrawer 在 AppBar 中添加了一个按钮,它的作用正是我想要的。但是,我想在主体中添加另一个按钮来触发另一个抽屉,该抽屉也从右侧滑出。

我怎样才能实现这个目标?到目前为止,除了从左侧制作抽屉滑轨之外,我还没有找到任何解决方案。

Scaffold(
    key: scaffoldKey
    appBar: AppBar(actions: [
            IconButton(
                onPressed: () {
                  scaffoldKey.currentState!.openEndDrawer();
                },
                icon: const Icon(Icons.filter_alt_outlined))
          ],),
    endDrawer: Drawer(...),
    body: Column(
            children: [
                IconButton(
                        icon: Icon(Icons.sort),
                        onPressed:() {
                            // how to open another endDrawer here.. 
                        }
                    )
            ]
        )
)
flutter dart user-interface drawer slidingdrawer
1个回答
0
投票

您可以使用两个

EndDrawer
选项实现 Flutter 应用程序的完整示例,您可以按照以下代码操作:

import 'package:flutter/material.dart';

class HomeScreen extends StatelessWidget {
  final GlobalKey<ScaffoldState> scaffoldKey = GlobalKey<ScaffoldState>();

  HomeScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      key: scaffoldKey,
      appBar: AppBar(
        title: const Text("Dual EndDrawers"),
        actions: [
          IconButton(
            onPressed: () {
              scaffoldKey.currentState!.openEndDrawer();
            },
            icon: const Icon(Icons.filter_alt_outlined),
          ),
        ],
      ),
      endDrawer: Drawer(
        child: ListView(
          children: [
            ListTile(
              title: const Text("First EndDrawer Option"),
              onTap: () {
                // Handle the action for the first EndDrawer here.
                scaffoldKey.currentState!.openEndDrawer();
              },
            ),
          ],
        ),
      ),
      body: Column(
        children: [
          IconButton(
            icon: const Icon(Icons.sort),
            onPressed: () {
              scaffoldKey.currentState!
                  .openEndDrawer(); // Open the first EndDrawer
            },
          ),
        ],
      ),
    );
  }
}

希望这对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.