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

Flutter 的按钮,看这篇文章就够了

我在之前的文章文本、图片和按钮在Flutter中怎么用中,简单介绍过按钮组件,本篇文章来详细聊聊Flutter中的各种按钮组件的各种应用场景。...在Flutter中,有很多的按钮组件,常见的有:FlatButton、RaisedButton、OutlineButton、IconButton、ButtonBar、FloatingActionButton...首先来看一下按钮组件的属性: onPressed,必填参数,按下按钮时触发的回调,接收一个方法,传null值表示按钮禁用,会显示禁用相关样式 child,表示按钮展示状态的Widget,一般为一个文本组件...上述例子我都是以RaisedButton为例来演示的,实际上,RaisedButton、FlatButton和OutlineButton这三者的使用都是完全一样的。...6,在点击悬浮按钮的时候,我们可以通过调整 _tabbarIndex 的值来切换页面。

9.8K31

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

禁用状态下背景颜色 highlightColor 高亮颜色,按下时的颜色 splashColor 水波纹颜色,按下松开会有水波纹效果 以textColor为例,用法如下: RaisedButton(...primary :字体颜色依赖于ThemeData.primaryColor 这3个值在MaterialApp控件中进行全局设置,设置如下: MaterialApp( title: 'Flutter...和hover相关的属性是指鼠标悬停时的状态,移动端没有效果,focus相关的属性为获取焦点时的状态。...设置其阴影值、内边距和弹出菜单的背景颜色: PopupMenuButton( elevation: 5, padding: EdgeInsets.all(5), color:...甚至可以设置点击水波纹颜色(splashColor)和按下时的高亮颜色(highlightColor): ToggleButtons( splashColor: Colors.purple,

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

    Flutter 中的按钮组件

    Flutter提供了丰富的按钮组件可以让我们快速的构建UI界面。 常见的按钮组件如下: 1. RaisedButton :凸起的按钮; 2. FlatButton :扁平化的按钮; 3....FloatingActionButton:浮动按钮; 按钮组件常见的属性: 1. onPressed 按下按钮时触发的回调方法,为必填参数,如果值为 null 表示禁用按钮,会显示禁用相关样式; 2....值的类型为Widget; 3. textColor 文本颜色。值的类型为Colors; 4. color 按钮的颜色。值的类型为Colors; 5. disabledColor 按钮禁用时的颜色。...值的类型为Colors; 6. disabledTextColor 按钮禁用时的文本颜色。值的类型为Colors; 7. splashColor 点击按钮时水波纹的颜色。...值的类型为Colors; 8. highlightColor 长按按钮后按钮的颜色。值的类型为Colors; 9. elevation 阴影的范围。

    3.1K30

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

    3个值在MaterialApp控件中进行全局设置,设置如下: MaterialApp( title: 'Flutter Demo', theme: ThemeData( primaryColor...,代码如下: RaisedButton( shape: CircleBorder(), ... ) 效果如下: [1240] 和hover相关的属性是指鼠标悬停时的状态,移动端没有效果,focus...创建的组件,它不使用当前的系统主题和按钮主题,用于自定义按钮或者合并现有的样式,而RaisedButton和FlatButton都是基于RawMaterialButton配置了系统主题和按钮主题,相关属性可以参考...,用法如下: PopupMenuButton( tooltip: 'PopupMenuButton', ... ) 效果如下: [1240] 设置其阴影值、内边距和弹出菜单的背景颜色...(splashColor)和按下时的高亮颜色(highlightColor): ToggleButtons( splashColor: Colors.purple, highlightColor

    2.6K00

    Flutter手势交互+自定义绘板组件v0.01

    终于把基本的组件扯完了,真的是多如牛毛。现在让我们来看一下控件如何实现交互 最后会实现一个简单的有点笔触效果的画布,来说明如何使用手势交互。...1.从RaisedButton看事件交互 Flutter的组件中有很多是有点击事件的,比如按钮,这里简单翻一下源码。...,根据名字来看应该都不难理解 事件名 简介 回调对象 简介 onTap 单击 无 无 onTapDown 按下 TapDownDetails 按下时触点信息 onTapUp 抬起 TapUpDetails...在使用上和前面的拖动时间基本一致,这里就不再赘述。...:Flutter中的手势交互,主要是移动相关 1.一条线是点的集合,绘板需要画n条线,所以是点的集合的集合 _lines 2.组件为有状态组件,_lines为状态量,在移动时将点加入当前所画的线

    1.4K10

    Flutter学习

    默认值为 ThemeData.primaryIconTheme centerTitle 标题是否居中显示,默认值根据不同的操作系统,显示方式不一样。...Navigator可以通过push和pop route以实现页面切换。 在Flutter中,导航器管理应用程序的路由栈。将路由推入(push)到导航器的栈中,将会显示更新为该路由页面。...可以从Native层调用flutter层的dart代码,也可以在flutter层调用Native的代码,而作为通讯桥梁就是MethodChannel,这个类在初始化的时候需要注册一个渠道值。...这个值必须是唯一的,并且在使用到的Native层和Flutter层互相对应。...中如何使用原生控件或组件 Flutter代码通常涉及构建相当深的树状数据结构,例如在一个build方法中。

    2.6K20

    【Flutter 实战】1.20版本更新及新增组件

    新的滑块在设计时考虑到了更好的可访问性:轨道更高,滑块带有阴影,并且值指示器具有新的形状和改进的文本缩放支持。...onChanged:滑块值改变时回调。 ? 看看 Flutter 1.20 版本以前的样式(我的珍藏): ? 明显的感觉就是滑块轨道变粗了,滑块变的更有立体感(加了阴影)了。...自定义滑块 激活的颜色 和 未激活的颜色: Slider( activeColor: Colors.red, inactiveColor: Colors.blue, value: _sliderValue...如何在 Flutter 1.20 版本使用以前的标签样式呢?...标题 选定的日期范围 切换到输入模式 月和年标签 当前时间 开始时间 选中时间范围 结束时间 国际化 国际化都是一个套路,下面以 showDatePicker 为例: 在 pubspec.yaml 中引入

    5.1K10

    Flutter 小技巧之 ButtonStyle 和 MaterialStateProperty

    相信大家当初在从 Flutter 1 切换到 Flutter 2 的时候,应该都有过这样一个疑问: 为什么 FlatButton 和 RaisedButton 会被弃用替换成 TextButton 和...首先我们看看 MaterialStateProperty ,在 MaterialStateProperty 体系里有一个 MaterialState 枚举,它主要包含了: disabled:当控件或元素不能交互性时...hovered:鼠标交互悬停时 focused: 在键盘交互中突出显示 selected:例如 check box 的选定状态 pressed:通过鼠标、键盘或者触摸等方法发起的轻击或点击 dragged...withOpacity(0.38) 变化颜色; _TextButtonDefaultOverlay: 用于处理 hovered 、 focused 和 pressed ,通过 primary.withOpacity...控件进行 MaterialState 的 UI 响应时,也是遵循了 Material Design 的设计规范,比如 Hover 时 primary.withOpacity(0.04); ,所以不管在

    2.8K40

    Flutter Widgets 之 Dialog 对话框

    注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本:1.12.13+hotfix.5 Dart版本:2.7.0 当应用程序进行重要操作时经常需要用户进行2次确认,以避免用户的误操作...根据设计的不同,我们可以选择Material风格的AlertDialog或者Cupertino(ios)风格的CupertinoAlertDialog, Material风格基础用法如下: RaisedButton...Cupertino(ios)风格基础用法如下: RaisedButton( child: Text('切换'), onPressed: () { showCupertinoDialog(...: false, ) AlertDialog的属性相对比较丰富,可以设置title样式、content样式、背景颜色、阴影值,设置是形状: AlertDialog( title: Text...用户点击“取消”或者“确定”按钮后退出对话框,App需要知道知道用户选择了哪个选项,用法如下: RaisedButton( child: Text('切换'), onPressed: () async

    1K10

    Flutter中的按钮组件Button

    Flutter提供了丰富的按钮组件可以让我们快速的构建UI界面。 常见的按钮组件如下: 1. RaisedButton 凸起的按钮; 2. FlatButton 扁平化的按钮; 3....FloatingActionButton 浮动按钮; 按钮组件常见的属性: 1. onPressed  按下按钮时触发的回调方法,为必填参数,如果值为 null 表示禁用按钮,会显示禁用相关样式; 2.... child 子组件; 3. textColor 文本颜色; 4. color 按钮的颜色; 5. disabledColor 按钮禁用时的颜色; 6. disabledTextColor 按钮禁用时的文本颜色...; 7. splashColor 点击按钮时水波纹的颜色; 8. highlightColor 长按按钮后按钮的颜色; 9. elevation 阴影的范围; 10. padding 内边距; 11....,以下是代码示例: import "package:flutter/material.dart"; // 标签切换页 class Tabs extends StatefulWidget {

    4.1K10

    【Flutter 专题】78 图解 Android Native 集成 FlutterBoost 小尝试 (一)

    AndroidX,于是切换至较新的 'v1.12.13-hotfixes' 分支,Packages get 检验,可以正常运行; flutter_boost: git: url: 'https...Code 案例 至此,Flutter 和 FlutterBoost 的集成已基本完成,接下来是两端映射与跳转方面的学习,和尚建议刚开始时可以将官网的代码复制拷贝到项目中,先跑通项目更直观的感受...Flutter -> Flutter 跳转 Flutter 之间的跳转可以通过默认的 Navigator 方式,也可以通过 FlutterBoost.singleton.open 方式进行页面跳转;注意跳转的页面均需在...Flutter -> Android 跳转 Flutter 到 Native 的跳转需要根据不同映射的 url 单独判断;其中接收参数通过 openPageByUrl 的 params 获取;若由 Flutter...到 Native 需要返回值,注意页面跳转时使用 startActivityForResult 方式,且关闭 Native 时传参的 KEY 为固定的 IFlutterViewContainer.RESULT_KEY

    93731

    【Flutter 实战】大量复杂数据持久化

    老孟导读:上一篇文章讲解了 Android 和 iOS 的文件目录系统,此篇文章讲解如何使用 SQLite 保存大量复杂数据数据。...,如果本地没有保存数据,则需要通过网络获取数据,在返回数据之前,用户看到的是空白页面,而如果本地保存了部分新闻,则显示这部分数据,等待最新的数据返回时在刷新即可,对用户体验来说,明显第二种体验更佳。...那是否需要先去学习数据库和 SQL 语句相关知识?...我觉得没有必要,应用程序使用的数据库和 SQL 语句相关知识都是非常基础的,比如打开数据库、创建表、SQL 查询语句、更新语句、删除语句等,这些都是固定的格式,固定语句记住即可。...添加依赖 SQLite 并不是 Flutter 系统自带的,而是一个第三方插件,在项目的 pubspec.yaml 文件中添加依赖: dependencies: sqflite: ^1.3.1

    2.2K30

    【Flutter】Flutter 自定义字体 ( 下载 TTF 字体 | pubspec.yaml 配置字体资源 | 同步资源 | 全局应用字体 | 局部应用字体 )

    ---- 1、ttf 字体文件 字体资源文件 : ttf 格式的字体资源 ; Flutter 应用字体资源文件 : 在 Flutter 应用根目录下创建 fonts 目录 , 将下载的 ttf 字体放资源文件在该...RubikMonoOne-Regular.ttf 放在根目录下的 fonts 目录下 ; 3、获取字体 在 pubspec.yaml 配置文件中配置完字体资源后 , 点击 " Pub get " 按钮...code 0 4、全局使用字体 全局应用字体 : 在 MaterialApp 根节点的 theme 字段值的 ThemeData 组件中的 fontFamily 字段设置字体 , 这里设置在 pubspec.yaml...配置文件中配置的 family 标签下的值 “RubikMonoOne” ; 字体配置 : fonts: - family: RubikMonoOne fonts: -...// 设置主题 theme: ThemeData( // 配置字体 fontFamily: "RubikMonoOne", // 配置主题颜色

    3.5K00

    Flutter的文本、图片和按钮使用

    Flutter也有类似概念TextSpan TextSpan定义一个字符串片段该如何控制其展示样式,而将这些有独立展示样式的字符串组装在一起,则能支持混合样式的富文本展示。...5 FAQ 阅读Flutter SDK中Text、Image、FadeInImage,以及按钮控件FloatingActionButton、FlatButton与RaisedButton的源码,在build...在阅读Flutter SDK中Text、Image、FadeInImage、FloatingActionButton、FlatButton和RaisedButton的源码时,可以发现它们的build函数中都有一个内部真正承载其视觉功能的控件...对于RaisedButton控件,其内部真正承载其视觉功能的控件为Material和InkResponse。 这些控件都是Flutter框架中提供的基础控件,用于实现各种不同的视觉效果。...在这些控件的build函数中,会根据不同的属性值来创建这些基础控件,并将它们组合在一起,从而实现所需的视觉效果。

    59020

    《Flutter》-- 9.路由与导航

    Flutter的路由管理和导航借鉴了前端和客户端中的设计思路,提供了Route和Navigator对路由进行统一管理。...在Flutter开发中,根据是否需要提前注册路由标识符,路由管理可以分为基本路由和命名路由两种。...9.1.2 基本路由 基本路由无需提前注册,在页面切换时需要手动构造页面的实例,使用起来相对简单灵活,适用于应用中页面不多的场景。...MaterialPageRoute是Flutter提供的路由模板,是PageRoute的子类,定义了路由创建及切换时过渡动画的相关接口和属性,并自带页面切换动画。...如果需要返回上一个页面时回传参数,可以在使用push()打开目标页面时使用then()监听目标页面的返回值。

    1.1K20

    再谈路由与导航,详谈Flutter是如何实现页面切换的

    其实,Flutter的路由管理也借鉴了这两种设计思路。那么,今天我们就来看看,如何在一个Flutter应用中管理不同页面的命名和过渡。...而根据是否需要提前注册页面标识符,Flutter 中的路由管理可以分为两种方式: 基本路由。无需提前注册,在页面切换时需要自己构造页面实例。 命名路由。...基本路由 在Flutter中,基本路由的使用方法和iOS/Android打开新页面的方式非常类似。...在注册路由表时,Flutter提供了 UnknownRoute 属性,我们可以对位置的路由标识符进行统一的页面跳转处理。 下面的代码演示了如何注册错误路由处理。...为了精细化控制路由切换,Flutter提供了页面打开与页面关闭的参数机制,我们可以在页面创建和目标页面关闭时,取出相应的参数。

    2.8K20
    领券