今天项目中要实现底部弹出框并且实现圆角功能,先来预览一下

可以看出实现的公告有

底部圆角,以及朋友圈,微信转发等

实现逻辑我直接代码列出

定义

List<String> nameItems = <String>['微信', '朋友圈', 'QQ', 'QQ空间', '微博', '链接'];List selects = [];int count = 0;// 这个urlItems这里没有用到List<String> urlItems = <String>['images/wexin_icon.png','images/friend_icon.png','images/qq_icon.png','images/qq_zon_icon.png','images/weibo_icon.png','images/link_icon.png',];

开始操作

void showBottomSheet() {//用于在底部打开弹框的效果showModalBottomSheet(builder: (BuildContext context) {//构建弹框中的内容return buildBottomSheetWidget(context);},backgroundColor: Colors.transparent,//重要context: context);}

下面

 ///底部弹出框的内容Widget buildBottomSheetWidget(BuildContext context) {return Container(height: 500.w,decoration: new BoxDecoration(color: Colors.white,borderRadius: new BorderRadius.only(topLeft: const Radius.circular(25.0),topRight: const Radius.circular(25.0))),child: new Column(children: [Text("邀请好友",style: TextStyle(color: Color(0xFF36393D),fontSize: 46.w,),),commonButtonWidget(fontsize: 16,txt: "邀请",ontap: () {print("11");}),Container(width: MediaQuery.of(context).size.width,padding: EdgeInsets.only(left: 10),child: Text("去邀请"),),Container(height: 100,child: ListView.builder(scrollDirection: Axis.horizontal,itemBuilder: (BuildContext context, int index) {return InkWell(child: Container(child: new Column(children: <Widget>[new Padding(padding: EdgeInsets.fromLTRB(0.0, 6.0, 0.0, 6.0),child: Image.asset(urlItems[index],width: 48,),),new Text(nameItems[index])],),),onTap: () {switch (nameItems[index]) {case '微信':print("微信");break;case '朋友圈':print("朋友圈");break;case 'QQ':print("QQ");break;case 'QQ空间':print("QQ空间");break;case '微博':print("微博");break;}},);},itemCount: nameItems.length,),),],));}

这是邀请按钮的基础上封装的组件

Widget commonButtonWidget({String txt,Color fontcolor,Color backcolor,double fontsize,Function ontap}) {String txt = "邀请";Color fontcolor = Color(0xFF19D88E);Color backcolor = Color(0xFF19D88E).withOpacity(0.2);double fontsize = 18;return new Center(child: new Material(
//INK可以实现装饰容器child: new Ink(//用ink圆角矩形decoration: new BoxDecoration(//不能同时”使用Ink的变量color属性以及decoration属性,两个只能存在一个color: backcolor,//设置圆角borderRadius: new BorderRadius.all(new Radius.circular(25.0)),),child: new InkWell(//圆角设置,给水波纹也设置同样的圆角//如果这里不设置就会出现矩形的水波纹效果borderRadius: new BorderRadius.circular(25.0),//设置点击事件回调onTap: () {ontap();},child: new Container(width: 300.0,height: 36.0,//设置child 居中alignment: Alignment(0, 0),child: Text(txt,style: TextStyle(color: fontcolor, fontSize: fontsize),),),),),),);}

当然,代码写的很烂,如果有好的建议,欢迎指出,

最后欢迎大家在一下平台关注我,

主要发布文章包括,flutter,Vue,go,python,等技术,以及每月的读书笔记

哔哩哔哩搜索“Luckly年轻人

公众号:“萌小肆聊编程”

自建博客:https://luckly.work/

哔哩哔哩:https://space.bilibili.com/480883651

CSDN:https://blog.csdn.net/qq_39132095

知乎:https://www.zhihu.com/people/yimi-yang-guang-96-65

简书:https://www.jianshu.com/u/0c43689713e9

掘金:https://juejin.cn/user/3843548384077192

flutter实现底部弹出框以及特色功能相关推荐

  1. html自定义js程序,JS中微信小程序自定义底部弹出框

    实现微信小程序底部弹出框效果,代码分为html,css和js两部分,具体代码详情大家参考下本文. html CSS .commodity_screen { width: 100%; height: 1 ...

  2. android的底部弹出框炫酷的样式,Android自定义底部弹出框ButtomDialog

    本文实例为大家分享了Android自定义底部弹出框的具体代码,供大家参考,具体内容如下 先看看效果和你要的是否一样 一 .先来配置自定义控件需要的资源 1.在res文件夹下创建一个anim文件夹并创建 ...

  3. 微信小程序商品详情页底部弹出框(点击加入购物车或立即购买弹出)

    项目实现效果如图 项目效果实现思路: wxml页面设计好底部栏<加入购物车,立即购买> 绑定点击触发弹出层函数 写好弹出窗效果 写好原始页面暗化效果 项目实现代码 1.wxml代码 (其中 ...

  4. android实现底部弹出框与软键盘冲突(全面屏虚拟键适配)

    普通的底部弹出框大家都可以很熟练的使用了,无非是一个diaolog的事情,但是当dialog中含有输入框之后,软键盘与dialog的冲突可以说是十分坑了...更别说加上底部虚拟键了,这么一个小功能磨得 ...

  5. 仿抖音评论底部弹出框(列表框+发表框)

    BottomSheetDialogFragment高仿抖音评论底部弹出框 先看效果图: 这个弹窗的效果是使用BottomSheetDialogFragment做的,第一个弹出的对话框为CommentL ...

  6. 【微信小程序封装底部弹出框二】

    [微信小程序封装底部弹出框二] <!--index.wxml--> <view><button style="margin-top: 300px;" ...

  7. 微信小程序 -- 自定义底部弹出框(带动画--滑入滑出)

    实现这么一个功能,点击选项进行选择,效果是从底部弹出选项框(带滑出动画),选择了某项或者点击其他地方,隐藏(带滑出动画).效果图如下: 可适用于任何场景,如普通选项(如图)或者类似商城小程序选择商品属 ...

  8. Swift4.0 实现底部弹出框

    网上找了些例子,但是并不能满足我的要求,下面我将网上的荔枝与自己的改进分享给大家 原理: 通过swift4的present 结合SnapKit进行布局 看效果图: 1.包含自定义view: 2:显示L ...

  9. uni-app 封装底部弹出框

    一个很简单的代替 select 的组件: 这里只实现了弹出.确认时返回选中的选中的对象: 没有实现弹出时显示为第几个,有需要可以自己加: 位置.弹出动画.样式都可以根据自己的需要进行修改: 有问题或者 ...

最新文章

  1. 理解shared_ptrT
  2. (58)模拟线程切换——添加挂起、恢复线程功能
  3. 在数组中查找指定元素_剑指 offer 第一题: 二维数组中的查找
  4. 耳机不分主从是什么意思_“在网吧上网给玩家配置这样的耳机,是什么意思?”哈哈哈...
  5. backtrader2
  6. Handler.postDelayed(new Runnable)是否运行在主线程
  7. 利用爬虫获取网上医院药品价格信息 (上)
  8. ASP.NET防止网页后退(禁止缓存)
  9. 最大功率点跟踪MPPT
  10. 小学计算机集体备课,信息技术集体备课总结
  11. 计算机组成原理课程设计:复杂模型机
  12. 玻尔兹曼机(Boltzmann机)和深度置信网络基本概念
  13. 用python实现词频分析+词云
  14. 不解压压缩包直接解析内部文件(zip)
  15. 优秀的论文答辩PPT模板值得被应用
  16. ping某个域名的详细过程
  17. sql注入进阶/user-agent/基于报错的注入/保姆级教程/一看就会/
  18. js 中断函数执行_javascript 终止函数执行操作
  19. Response to preflight request do‘nt access control check: Redirect is not allow for a preflight re.
  20. 设置页面高度为浏览器可视窗口大小

热门文章

  1. java publickey_Java中RSAPublicKey在不同平台的差异性
  2. linux mv 环境变量,linux环境变量 cp mv 以及文档查看的几个命令
  3. php 数组导出csv_php导出CSV抽象类实例
  4. jsp 跳到servlet路径_想打开一个jsp的页面就跳转到servlet中去,并向servlet传值。用什么跳转...
  5. c语言理解参数,c语言中对可变参数列表的简单理解
  6. linux 的git的安装目录,Linux下Git安装及配置较详细-Go语言中文社区
  7. kettle 使用java版本_Kettle最新版本8.X详解
  8. c++ ptree判断是否存在节点_新人报道献礼:关于boost property_tree的一些探讨
  9. python爬虫中for循环无法每一段输出_1024程序员节送你一套爬虫玩玩
  10. 8uftp如何创建php,从零搭建php环境-php8