如何在抖动中打开侧边菜单栏?

时间:2020-03-20 00:45:15

标签: flutter

我是不熟悉Flutter的人,并且创建了一个菜单按钮来打开侧面菜单,但是,我需要一些帮助才能实现。

任何人都可以帮助我实施或指导我如何使它起作用。请,非常感谢你!

这是我的代码:

  Widget _icon(IconData icon, {Color color = LightColor.iconColor}) {
return Container(
  padding: EdgeInsets.all(10),
  decoration: BoxDecoration(
      borderRadius: BorderRadius.all(Radius.circular(13)),
      color: Theme.of(context).backgroundColor,
      boxShadow: AppTheme.shadow),
  child: Icon(
    icon,
    color: color,
  ),
);
}

主要:

    class _MainPageState extends State<MainPage> {
  bool isHomePageSelected = true;
  Widget _appBar() {
    return Container(
      padding: AppTheme.padding,
      child: Row(
        mainAxisAlignment: MainAxisAlignment.spaceBetween,
        children: <Widget>[
          RotatedBox(
            quarterTurns: 4,
            child: _icon(Icons.menu, color: Colors.black54),
          ),
          ClipRRect(
            borderRadius: BorderRadius.all(Radius.circular(13)),
            child: Container(
              decoration: BoxDecoration(
                color: Theme.of(context).backgroundColor,
                boxShadow: <BoxShadow>[
                  BoxShadow(
                      color: Color(0xfff8f8f8),
                      blurRadius: 10,
                      spreadRadius: 10),
                ],
              ),


            ),
          )
        ],
      ),
    );
  }

2 个答案:

答案 0 :(得分:1)

您可以在下面复制粘贴运行完整代码
您可以使用 it('should contain an empty string when the stop button is clicked', () => { const wrapper = mount(<Dashboard />); wrapper.find('input').props().value = 'hello'; act(() => wrapper.find(Button).props().handleClick()); wrapper.update(); console.log(wrapper.find('input').debug()); expect(wrapper.find('input').props().value).toBe(''); }); 并致电GlobalKey()

代码段

_key.currentState.openDrawer();

工作演示

enter image description here

完整代码

GlobalKey<ScaffoldState> _key = GlobalKey();
...
child: InkWell(
        onTap: () {
          _key.currentState.openDrawer();
        },

答案 1 :(得分:0)

使用此代码:

Scaffold.of(context).openDrawer();

参考:https://api.flutter.dev/flutter/material/ScaffoldState/openDrawer.html