首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

你知道吗,Flutter内置了10多种Button控件

注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本:1.12.13+hotfix.5 Dart版本:2.7.0 Flutter内置了10多种Button(按钮)类控件供我们使用...DropdownButton DropdownButton为下拉选择按钮,基本用法如下: var _dropValue = '语文'; _buildButton() { return DropdownButton...如果你对选中选项样式不满意,可以自定义,用法如下: DropdownButton( selectedItemBuilder: (context){ return [ Text...和BackButton适用场景不同,BackButton适用于全屏页面,而CloseButton适用于弹出Dialog。 用法如下: CloseButton() 效果如下: ?...如果开发是web程序,我们可以设置鼠标悬停颜色: ToggleButtons( hoverColor: Colors.cyan, ) 欢迎加入Flutter微信交流群(mqd_zzy

1.9K30

Flutter 源码系列:DropdownButton 源码浅析

DropdownButton 构造函数及简单使用 其实关于 DropdownButton 构造函数和简单使用我在上一篇文章中已经有过讲解, 如有不懂怎么用,可以看这篇文章:Flutter DropdownButton...下面重点说一下 DropdownButton 是如何实现DropdownButton 实现 我们需要带着如下几个问题去看源码: 1.DropdownButton 是用什么来实现?...2.在点击 DropdownButton 时候发生了什么?3.为什么每次弹出位置都是我上次选择item位置? 带着如上问题,我们开始。 DropdownButton 是用什么实现?...其中 delegate 为自定义 _DropdownMenuRouteLayout,这里主要是给定一些约束和控制了位置,这里不在本节内容当中,所以不过多讲解。...到这里点击逻辑就结束了,主要就是弹出了一个 PopupRoute。 为什么每次弹出位置都是我上次选择item位置

1.6K30
您找到你想要的搜索结果了吗?
是的
没有找到

你知道吗,Flutter内置了10多种Button控件

版本及Dart版本如下:Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 Flutter内置了10多种Button(按钮)类控件供我们使用,了解这些控件有助于提高我们开发速度...效果如下: [strip] 如果你对选中选项样式不满意,可以自定义,用法如下: DropdownButton( selectedItemBuilder: (context){ return...value: null, ... ) 效果如下: [1240] 默认情况下,下拉选项图标是倒立三角,也可以进行自定义,用法如下: DropdownButton( icon: Icon(Icons.add...和BackButton适用场景不同,BackButton适用于全屏页面,而CloseButton适用于弹出Dialog。...web程序,我们可以设置鼠标悬停颜色: ToggleButtons( hoverColor: Colors.cyan, ) 欢迎加入Flutter微信交流群(<font color

2.4K00

Flutter | 超实用简单菜单弹出框 PopupMenuButton

相信在实际开发过程当中,肯定少不了这样功能: ? 点击 AppBar 右上角按钮,弹出一个菜单供用户选择。 幸运是,Flutter 提供给我们了一个 Widget,直接就能实现如上效果。...大致意思为: 当按下时候显示一个菜单,选择了一个项目的时候会回调 onSelected,传递值是所选菜单值。 可以提供 child or icon ,但是不能同时提供。...如果为空,则提供一个默认图标,取决于平台。...总结 这样就完成了一个超级简单并且实用菜单弹出框, 其实它实现逻辑和 DropdownButton 差不多,都是使用了 PopupRoute, 有对这方面感兴趣同学,可以查看我以前写文章:Flutter...源码系列:DropdownButton 源码浅析 完整代码已经传至GitHub:https://github.com/wanglu1209/WFlutterDemo

4.9K30

Flutter 专题】104 图解自定义 ACEDropdownButton 下拉框

和尚之前尝试过 Flutter 自带 DropdownButton 下拉框,简单方便;但仅单纯原生效果不足以满足各类个性化设计;于是和尚以 DropdownButton 为基础,调整部分源码...对于下拉框尺寸位置,各子 item 位置等一系列位置计算;在这里可以确定下拉框展示起始位置以及与屏幕两端距离判断,指定具体约束条件;DropdownButton 同时还起到了衔接 _DropdownMenu...避免遮挡 和尚选择自定义 ACEDropdownButton 下拉框最重要原因是,Flutter 自带 DropdownButton 在下拉框展示时会默认遮挡按钮,和尚预期效果是: 若按钮下部分屏幕空间足够展示所有下拉...分析源码,下拉框展示位置是通过 _MenuLimits getMenuLimits 计算,默认 menuTop 是通过按钮顶部与选中 item 所在位置以及下拉框整体高度等综合计算获得,因此展示位置优先以选中...Animate 下拉框展示动画 DropdownButton 下拉框展示动画默认是以选中 item 为起点,分别向上下两端延展; 和尚修改了下拉框展示位置,因为动画会显得很突兀,于是和尚调整动画起始位置

1.9K20

FluttershowModalBottomSheet 输入框被弹出键盘挡住?

需求描述 最近在做项目的时候有这样一个需求:用户对已购买商品进行评价,如果用户给差评,就必须输入原因。并且输入框是从底部弹起一个单独层。...我点输入框后,弹出键盘挡住了输入框。 我很方,键盘怎么就没有把输入框推上去呢,和我想不太一样啊。 解决方法 使用 AnimatedPadding这个widget,我们来看看它解释。...嗯,是Padding动画版本,我们利用它在键盘谈起时候给我们输入框加个padding就好了。万事大吉!!!...this widget looks like, using a [curve] /// of [Curves.fastOutSlowIn]. /// {@animation 250 266 https://flutter.github.io...好了,本次分享就到这里,喜欢点个赞哦 今日精选壁纸

3K10

Flutter | 思路解析 WPopupMenu 仿微信聊天长按弹出菜单

child 长度大于 menu 长度,那么则把 menu 放在中间2.如果 child 长度小于 menu 长度,三角形位置在 child 中间 不多说,上图: ?...WPopupMenu 实现思路解析 首先,还是按照正常业务逻辑,先提需求: 1.在当前页面弹出2.样子要和微信一样3.自动确定弹出位置(上 或者 下)4.三角形自动判断是 正三角 还是 倒三角 需求差不多了...这就涉及到我前面所讲几篇文章: Flutter | 超实用简单菜单弹出框 PopupMenuButton Flutter 源码系列:DropdownButton 源码浅析 这几个控件源码里都有一个类...自动确定弹出位置(上 或者 下) 如果你看过最开始说那些控件源码,那么这个问题对于你来说应该不是问题,因为... 那些控件源码里给了一个解决方案。...return Offset(x, y); } } 这里只是确定了一个偏移量,那对于弹出位置是在 child 上面还是下面,我是用 y 来判断: 如果 「 y < menu.height * 2

4.5K31

Android网络请求慢时候,任意位置弹出加载中提示

大家好我是王大锤,我们老板给我一个任务,让我在任何有网络请求地方,如果时间超过一秒就提示一个加载中提示,好去捞客户钱 。...不过还好我机智,我想:既然需要1秒钟以后才弹出来,思来想去我决定用popuWindow,因为这玩意儿不阻挡当前界面操作,这是我最喜欢地方。...this.setTouchInterceptor { _, _ -> true } } fun show() { // 显示位置为...,控件下方水平中间位置 showAsDropDown(parView,parView.width/2-contentView.measuredWidth/2,0)...LoadingPopuWindow(view); Observable.timer(1, TimeUnit.SECONDS)//一秒钟以后再执行,一秒钟还没加载出来,说明网络卡,肯定需要弹出

1.6K30

Android网络请求慢时候,任意位置弹出加载中提示

大家好我是王大锤,我们老板给我一个任务,让我在任何有网络请求地方,如果时间超过一秒就提示一个加载中提示,好去捞客户钱 。...不过还好我机智,我想:既然需要1秒钟以后才弹出来,思来想去我决定用popuWindow,因为这玩意儿不阻挡当前界面操作,这是我最喜欢地方。...this.setTouchInterceptor { _, _ -> true } } fun show() { // 显示位置为...,控件下方水平中间位置 showAsDropDown(parView,parView.width/2-contentView.measuredWidth/2,0) } }...LoadingPopuWindow(view); Observable.timer(1, TimeUnit.SECONDS)//一秒钟以后再执行,一秒钟还没加载出来,说明网络卡,肯定需要弹出

60950

Flutter高级玩法- Flow 】我位置我做主

FlowDelegate出场 Flow布局需要一个FlowDelegate类型delegate对象 但是Flutter中并没有其实现类,所以想玩Flow,只有一条路:自定义 class _Delegate...、paintChild ---->[源码:flutter/lib/src/rendering/flow.dart:23]---- abstract class FlowPaintingContext...圆形Flow布局 其实可以看出,Flow核心就是根据信息来计算位置 所以,所有的布局都可以通过Flow进行实现。 除此之外对应一些特定情况布局,使用Flow会非常简单,比如: ?...布局重在定位,而Flow是定位之王,我位置我做主。好了,这篇就到这里吧。...---- 尾声 另外本人有一个Flutter微信交流群,欢迎小伙伴加入,共同探讨Flutter问题,期待与你交流与切磋。

58130

Flutter DropdownButton简单使用及魔改源码

DropdownButton 则是用来实现稍微简单一点 点击选择 业务场景。...刚才我们看到图中是有下划线,如果想去除下划线的话,简单可以这么操作:underline: Container(), 也可以使用 DropdownButtonHideUnderline 包裹住 DropdownButton...点击弹出列表在下方,该如何写? 刚才在上面的图也看到了,每次点击更改后,下次展开就会以上次点击 index 作为关键点来展开。 那对于这种需求,我们只能 魔改源码。...Flutter 源码真的是给与我们极大方便,每一种控件都在一个文件内,我们直接复制出来就可以改。 最后再说一句:魔改一时爽,一直魔改一直爽。...后续会推出一系列源码分析文章,下一篇就是分析 DropdownButton ,敬请关注。

4.1K70

Android7.0上某些PopuWindow出现显示位置不正确问题解决方法

本文实例讲述了Android7.0上某些PopuWindow出现显示位置不正确问题解决方法。...分享给大家供大家参考,具体如下: 情景描述: 在andorid7.0及以上系统,点击某个view,本来期待有一个Popuwindow在该view下面弹出(调用PopuWindow.showAsDropDown...(view)方法)但结果PopuWindow却弹出在view上方,顶在系统状态栏下面。...原因分析: 在android7.0上,如果不主动约束PopuWindow大小,比如,设置布局大小为 MATCH_PARENT,那么PopuWindow会变得尽可能大,以至于 view下方无空间完全显示...PopuWindow,而且view又无法向上滚动,此时PopuWindow会主动上移位置,直到可以显示完全。

1.4K31

Flutter获取设备信息以及获取地理位置

"Moto G (4)" //获取iOS设备信息 IosDeviceInfo iosInfo = await deviceInfo.iosInfo; print('Running..."iPod7,1" } 获取地理位置 我们使用高德地图定位插件amap_location来获取地理位置。...在使用之前,我们一定要好好阅读文档,关于Android以及iOS平台相关配置,我在这里不做过多介绍,大家自己去看文档。...result.latitude} """); }); }); AMapLocationClient.startLocation(); } 一定要特别特别注意,本文目的是给大家介绍获取设备信息以及获取地理位置第三方组件...,仅做简单介绍以及推荐,虽然我也写了对应示例代码,但是代码并不全面,所以后期大家在做项目的时候如果真的用到了我所推荐第三方,那么一定要认真阅读文档,然后以文档为准,切记切记!!!

12K10

flutter给图片加个好看遮罩层【flutter20个实例之六】

二、讲解 1.结构拆分 我们先看下页面布局结构,首先肯定是有个GridView滚动组件来容纳内容 其次顶部有个日期选择,点击后底部弹出下拉选择,可以选择不同年份 年份选择后,进行内容刷新,数据重新加载...: BoxDecoration(color: Color(0x72000000)), 以下是flutter所有颜色透明 比如完全不透明:0xFF000000 需要将第3第4两个字母,替换为下方列表右侧两个字符即可...65%=59 70%=4c 75%=3F 80%=33 85%=21 90%=19 95%=0c 100%=00(全透明) 三、源码(可直接运行调试) import 'package:flutter.../cupertino.dart'; import 'package:flutter/material.dart'; class Mytest extends StatefulWidget { @override...); } Widget selectYear(context1, state) { return DropdownButtonHideUnderline( child: DropdownButton

3.9K30

Flutter Widgets大全】电子书开源

Flutter Widgets大全】是老孟耗费大量精力整理,总共有330多个组件详细用法,开源到Github上,希望可以帮助到大家,开源不易,转发一下可不可以?。...Flutter Widgets 【Flutter Widgets 大全】 为 Flutter 老孟 网站项目,共收录 330 多个 Widgets,此电子书并不适合入门(一个一个组件学习),适合当作手册...,需要时候进行查阅。...为了方便对比学习,我将相近或相反功能组件整理到一个文件中,比如所有的 Button 类组件、弹出类组件等。 如果想系统学习入门知识,请到 Flutter 老孟 实战 查看。...Draggable 在线查看 DraggableScrollableActuator 在线查看 DraggableScrollableSheet 在线查看 Drawer 在线查看 DrawerHeader 在线查看 DropdownButton

1.2K10
领券