在尝试实现https://support.automationanywhere.com/hc/en-us/articles/115003173494时,我注意到可以将endDrawer拖到抽屉上(反之亦然)。屏幕上同时显示了两个抽屉。
我很难意识到现有行为会有用的情况。我建议一个抽屉打开时,应触发另一个忽略手势,直到前者关闭为止。
我已经在flutter的github上打开了simultaneous left-and-right drawers,但是在等待更新时,我正在寻找一个临时修复程序。要重现该问题,请运行以下main.dart:
import 'package:flutter/material.dart';
void main() {
var app = MaterialApp(
home: new SafeArea(
left: false,
top: true,
right: false,
bottom: false,
child: new Scaffold(
endDrawer: new Drawer(
child: new Text("\n\n\nendDrawer is here"),
),
drawer: new Drawer(
child: new Text("\n\n\ndrawer is here"),
),
body: new Text("scaffold body"),
appBar: new AppBar(
centerTitle: true,
title: new Text("Title")
)
),
),
);
runApp(app);
}
我发现没有公共/私有变量在抽屉/ endDrawer开始/完成关闭时会切换。我认为我建议的修复方法可以在不引起混乱并直接编辑框架源代码的情况下完成,但是正如RémiRousselet 在this issue中指出的那样,我对此并不满意。
如果没有要监听的事件(或者根本无法访问而无需编辑源代码),那么还有哪些选项呢?