flutter 通过事件打开侧边栏

 

初始化侧边栏的关键scaffold

// 使用GlobalKey来获取ScaffoldState的引用,从而能够控制Scaffold的行为,例如打开侧边栏
final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>();

Scaffold组件及其AppBar

// 创建一个Scaffold组件,其中AppBar的标题为“商品列表”
return Scaffold(
  // 将先前创建的_scaffoldKey关联到这个Scaffold组件上
  key: _scaffoldKey,
  appBar: AppBar(
    title: Text("商品列表"),
  ),
);

筛选按钮及其点击事件

// 创建一个可扩展的组件,当点击时打开Scaffold的侧边栏
Expanded(
  flex: 1,
  child: InkWell(
    child: Padding(
      // 设定内边距,其中上下的内边距使用ScreenAdaper.height来适应不同屏幕尺寸
      padding: EdgeInsets.fromLTRB(
        0, ScreenAdaper.height(16), 0, ScreenAdaper.height(16)),
      child: Text("筛选", textAlign: TextAlign.center),
    ),
    onTap: () {
      // 当点击这个InkWell时,利用_scaffoldKey引用的ScaffoldState打开侧边栏
      _scaffoldKey.currentState.openEndDrawer();
    },
  ),
),

posted on 2020-02-29 18:50  完美前端  阅读(317)  评论(0)    收藏  举报

导航