温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
  • 忘记密码?
登录注册×
获取短信验证码
其他方式登录
点击 登录注册 即表示同意 《亿速云用户服务条款》
  • 服务器
  • 数据库
  • 开发技术
  • 网络安全
  • 互联网科技
登 录 注册有礼
最新更新 网站标签 地图导航
产品
  • 首页 > 
  • 教程 > 
  • 开发技术 > 
  • flutter如何实现底部抽屉效果

flutter如何实现底部抽屉效果

发布时间:2022-03-23 14:05:11 来源:亿速云 阅读:352 作者:小新 栏目: 开发技术

小编给大家分享一下flutter如何实现底部抽屉效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

具体内容如下

安卓:showModalBottomSheet
IOS:showCupertinoModalPopup

效果图

flutter如何实现底部抽屉效果

完整代码

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

///@作者: Q.L
///@创建日期: 2021-09-09 10:55
///@描述: {底部抽屉}
class ActionSheetPage extends StatefulWidget {
  const ActionSheetPage({Key? key}) : super(key: key);

  @override
  _ActionSheetPageState createState() => _ActionSheetPageState();
}

class _ActionSheetPageState extends State<ActionSheetPage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('底部抽屉弹出'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
                onPressed: () {
                  _showModalBottomSheet();
                },
                child: Text('安卓弹出')),
            ElevatedButton(
                onPressed: () {
                  _showCupertinoModalPopup();
                },
                child: Text('IOS弹出')),
          ],
        ),
      ),
    );
  }

  _showModalBottomSheet() async {
    var _result = await showModalBottomSheet(
        context: context,
        backgroundColor: Colors.greenAccent, //背景颜色
        // elevation: 500, //阴影
        shape: RoundedRectangleBorder(
            // borderRadius: BorderRadius.all(Radius.circular(10)),//所有圆角边框
            borderRadius:
                BorderRadius.only(topLeft: Radius.circular(10), topRight: Radius.circular(10))),
        isScrollControlled: false, //是否是全屏还是半屏,true全屏,默认false半屏
        isDismissible: true, //外部是否可以点击,false不可以点击,true可以点击,点击后消失
        builder: (BuildContext context) {
          return Column(
            mainAxisSize: MainAxisSize.min, // 设置最小的弹出
            children: [
              ListTile(
                leading: Icon(Icons.photo_camera),
                title: Text("拍照"),
                onTap: () {
                  Navigator.of(context).pop('拍照');
                },
              ),
              ListTile(
                leading: Icon(Icons.photo_library),
                title: Text("相册"),
                onTap: () {
                  Navigator.of(context).pop('相册');
                },
              ),
            ],
          );
        });
    print('选择了安卓==>>${_result ?? '点击了屏幕取消'}');
  }

  _showCupertinoModalPopup() async {
    var result = await showCupertinoModalPopup(
        context: context,
        builder: (context) {
          return CupertinoActionSheet(
            title: Text('提示'),
            message: Text('是否要编辑当前项?'),
            actions: [
              CupertinoActionSheetAction(
                child: Text('编辑'),
                onPressed: () {
                  Navigator.of(context).pop('编辑');
                },
                isDefaultAction: true,
              ),
              CupertinoActionSheetAction(
                child: Text('删除'),
                onPressed: () {
                  Navigator.of(context).pop('删除');
                },
                isDestructiveAction: true,
              ),
            ],
            cancelButton: CupertinoActionSheetAction(
              child: Text('取消'),
              onPressed: () {
                Navigator.of(context).pop('取消');
              },
            ),
          );
        });
    print('选择了IOS==>>${result ?? '点击了屏幕取消'}');
  }
}

以上是“flutter如何实现底部抽屉效果”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节
推荐阅读:
  1. 如何实现flutter仿微信底部图标渐变功能
  2. Flutter底部不规则导航的实现过程

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

flutter
  • 上一篇新闻:
    MySQL中rank() over、dense_rank() over和row_number() over怎么用
  • 下一篇新闻:
    Flutter UI如何实现侧拉抽屉菜单

猜你喜欢

  • 衡阳网站优化的方案有哪些
  • vps虚拟主机无法连接怎么解决
  • 域名访问提示网络异常怎么解决
  • mysql主机租用怎么配置
  • 发邮件服务器连接超时怎么解决
  • messagebox确定取消按钮怎么实现
  • 虚拟主机下载软件的方法是什么
  • Linux远程连接命令怎么使用
  • 域名查询系统搭建要注意什么
  • 企业私有云存储怎么搭建
最新资讯
  • 字符处理小技巧:SQL LOWER函数
  • SQL LOWER函数:实现不敏感搜索
  • 文本搜索优化LOWER函数显身手
  • SQL LOWER函数:数据清洗第一步
  • 高效数据检索SQL LOWER函数助力
  • 字符串比较新视角:SQL LOWER函数
  • SQL LOWER函数:数据一致性保障
  • 跨数据库兼容:SQL LOWER函数的力量
  • SQL查询优化:LOWER函数的应用实践
  • 文本数据清洗LOWER函数不可少
相关推荐
  • Flutter实现底部导航栏
  • Flutter实现底部导航
  • 使用Flutter怎么实现一个底部导航
  • Flutter底部弹窗ModelBottomSheet怎么用
  • Flutter底部弹窗怎么实现多项选择
  • Flutter如何实现底部导航栏创建
  • flutter底部弹出BottomSheet怎么实现
  • Flutter开发怎么实现底部留言板
  • flutter如何实现底部不规则导航栏
  • Flutter如何实现底部和顶部导航栏

相关标签

glutsolidsphere solution resolution luts absolute absolutelayout glut flutter开发教程 flutter widgets xlutils form java js android ios app for button listview context
AI

玻璃钢生产厂家玻璃钢景观雕塑设计公司昌平玻璃钢雕塑工程铜川玻璃钢雕塑批发盐城多边形玻璃钢花盆高质量玻璃钢雕塑销售厂家福建玻璃钢花盆销售广安玻璃钢广场雕塑价格公园动画玻璃钢雕塑商场美陈一般用什么材料商场美陈灯光辽源玻璃钢雕塑定制公司天津佛像玻璃钢雕塑定做价格安徽个性化玻璃钢雕塑定做价格广州树脂玻璃钢雕塑定做新密广场标识校园玻璃钢雕塑商场手工美陈河南玻璃钢校园玻璃钢雕塑厂合肥鼎湖玻璃钢人物雕塑湛江郑成功玻璃钢人物雕塑天水玻璃钢牌匾雕塑官园商场美陈酒店玻璃钢雕塑工厂湛江玻璃钢园林雕塑四川季节性商场美陈供货商商场玻璃钢花盆如何浇水房地产玻璃钢雕塑制作厂家楼盘玻璃钢雕塑代理商马 玻璃钢艺术雕塑新余创意玻璃钢雕塑销售厂家大型玻璃钢雕塑怎么做香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化