专栏名称: xiangzhihong
前端跨平台工程师、客户端工程师
目录
相关文章推荐
湖北经视  ·  刚刚!34岁孙杨,传来喜讯! ·  19 小时前  
湖北经视  ·  不要点!多地爆发!警方提醒 ·  昨天  
51好读  ›  专栏  ›  xiangzhihong

Flutter仿微信的下拉弹框

xiangzhihong  · 掘金  ·  · 2021-02-27 18:23

正文

阅读 7

Flutter仿微信的下拉弹框

在移动开发中,下拉弹框是一种很常见的选择交互方式,效果如下图所示。 在这里插入图片描述 对于这种弹框,我们可以使用Dialog来实现,下面是自定义弹框的主要代码。

Color _bgColor = Colors.white;
double cellHeight = 34;
double cellWidth=120;

typedef ClickCallBack = void Function(int selectIndex, String selectText);

class PopMenus {
  static void showPop(
      {@required BuildContext context,
      @required List<String> listData,
      @required String selText,
      ClickCallBack clickCallback}) {
    Widget _buildMenuLineCell(dataArr) {
      return ListView.separated(
        itemCount: dataArr.length,
        physics: const NeverScrollableScrollPhysics(),
        itemBuilder: (BuildContext context, int index) {
          return GestureDetector(
              onTap: () {
                Navigator.pop(context);
                if (clickCallback != null) {
                  clickCallback(index, listData[index]);
                }
              },
              child: Container(
                height: cellHeight,
                child: Column(
                  crossAxisAlignment: CrossAxisAlignment.center,
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: <Widget>[
                    selText==dataArr[index]?
                    Text(dataArr[index], style: TextStyle(fontSize: 16






请到「今天看啥」查看全文