建网站服务器怎么选择/seo优化课程
文章目录
- 1. 概念介绍
- 2. 修改方法
- 2.1 修改形状
- 2.2 修改颜色
- 2.3 修改位置
- 3. 示例代码
- 4. 内容总结
我们在上一章回中介绍了"如何创建以图片为背景的页面"相关的内容,本章回中将介绍如何修改按钮的形状.闲话休提,让我们一起Talk Flutter吧。
1. 概念介绍
我们在前面章回中介绍过按钮的基本用法,如果有看官忘记了可以点击这里查看。本章回中主要介绍如何修改按钮的形状以及其它的属性,比如文字颜色等。按钮默认的形
状是一个圆角矩形,当然这个默认形状使用的是默认的theme,如果换成新的Material3默认主题,那么按钮的默认形状就是椭圆,而且带有浅紫色背景。下面是一个示
例图,图中上面的按钮是Material3默认主题下的Button,下面的按钮是我们修改后的按钮,大家对比一下就会发现它们的形状,颜色,文字位置都不一样。
在实际项目中这种默认的形状和颜色通常不符合设计需求,那么如何修改呢?看官莫急,本章回中将详细介绍如何修改按钮的形状,颜色,内容的位置以及边距。
2. 修改方法
我们修改的内容包含形状,颜色,内容的位置,这些内容都属于按钮的外观风格,通过按钮的style属性可以修改这些风格。修改style时可以创建一个新的style,不
过这个操作比较麻烦,我们推荐的做法是使用styleFrom()方法,该方法提供了相关的属性来修改按钮的风格,而且它只修改属性中的内容,其它的内容仍然使用按钮
原来的风格。接下来我们将分别介绍修改这些风格的方法。
2.1 修改形状
我们通过shape属性来修改按钮的形状,通常使用RoundedRectangleBorder()对象给它赋值,这样可以调整圆角的大小,也可以把按钮的形状修改成圆形。我们将
在后面的小节中通过示例代码来演示具体的修改方法。
2.2 修改颜色
我们通过backgroundColor和foregroundColor属性可以修改按钮的背景颜色和按钮中文字的颜色。给这两个属性赋值时,可以使用系统提供的颜色值,也可以使用
自定义的颜色值。我们将在后面的小节中通过示例代码来演示具体的修改方法。
2.3 修改位置
我们通过alignment和padding属性可以修改按钮上显示文字的位置,这里需要注意一下,修改位置时最好同时修改这两个属性,否则效果不明显,因为按钮默认的风格
会在按钮的文字周围添加边距,修改位置时需要去掉边距才效果,不然文字无法贴到按钮边框上。我们将在后面的小节中通过示例代码来演示具体的修改方法。
3. 示例代码
///正常的button和修改style后的button,可以对比
ElevatedButton(onPressed: (){},child: const Text("ElevatedButton"),
),
ElevatedButton(onPressed: (){},style: ElevatedButton.styleFrom(///调整圆角度数shape:RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)),///调整文字位置,注意有边距,去掉边距后效果更加明显alignment: Alignment.centerRight,///调整button内文字的间隔padding:const EdgeInsets.only(left:24,top:8,right: 0,bottom:8),///调整button的颜色backgroundColor: Colors.black87,foregroundColor: Colors.white),child: const Text("ElevatedButton"),
),
我们通过上面的代码中演示了修改按钮风格的方法,编译并且运行该程序可以得到两个按钮的效果图,具体的图形可以参考文章开始的图片。
4. 内容总结
我们在本章回中说的按钮特指ElevatedButton。其它类型的按钮只是与ElevatedButton 的风格不同,它们的修改方法完全相同。我们在这里就不介绍了,大家可以
自己动手去练习,就当作是我们留给大家的课外作业。最后,我们对本章回的内容做一个全面的总结:
- 按钮形状等风格与主题有关,不同主题的按钮风格不一样;
- 按钮的风格通过它的style属性来控制,修改该属性值可以修改按钮的风格;
- 修改属性值时推荐使用styleFrom()方法,该方法只指定指定属性的内容,其它的内容保持不变;
看官们,与"如何修改按钮的形状"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!
相关文章:

第二百二十八回
文章目录 1. 概念介绍2. 修改方法2.1 修改形状2.2 修改颜色2.3 修改位置 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何创建以图片为背景的页面"相关的内容,本章回中将介绍如何修改按钮的形状.闲话休提,让我们一起Talk Flutter吧。 1. …...

Java设计模式之单例模式(多种实现方式)
虽然写了很多年代码,但是说真的对设计模式不是很熟练,虽然平时也会用到一些,但是都没有深入研究过,所以趁现在有空练下手 这章主要讲单例模式,也是最简单的一种模式,但是因为spring中bean的广泛应用&#…...

Miracast投屏探索
Miracast是一种Wi-Fi Alliance推出的无线显示技术,允许在支持Miracast标准的设备之间进行屏幕镜像和内容共享。在Miracast技术中,通常会涉及到两种角色:Source(发送端)和Sink(接收端)。 Source&…...

2024年幻兽帕鲁服务器优惠价格表手动整理,最全报价
2024年全网最全的幻兽帕鲁服务器租用价格表,阿里云幻兽帕鲁游戏服务器26元1个月、腾讯云32元一个月、京东云26元一个月、华为云24元1个月,阿腾云atengyun.com整理最新幻兽帕鲁专用4核16G、8核16G、8核32G游戏服务器租用价格表大全: 阿里云幻…...

使用Python自动备份重要文件:一步一步的教程
目录 1 重要性说明1.1 数据丢失的风险1.2 自动化备份的好处1.3 提高数据安全性和恢复力 2 工具和技术简介2.1 os库2.2 shutil库2.3 glob库2.4 pathlib库 3 备份策略设计3.1 全备份3.2 增量备份3.3 差异备份3.4 根据需求选择备份策略 4 编写备份脚本4.1 步骤拆解步骤 1: 选择源文…...

python学习
Python面试题大全 - 50道经典面试题 - 掘金 yoloV5:yolov5: YOLOv5 汉化版,保持官方同步更新 yoloV8使用案例:用YOLOv8一站式解决图像分类、检测、分割…… - 掘金 yoloV8使用案例douyin:https://www.douyin.com/user/self?modal_id7276287878194285…...

【使用redisson完成延迟队列的功能】使用redisson配合线程池完成异步执行功能,延迟队列和不需要延迟的队列
1. 使用redisson完成延迟队列的功能 引入依赖 spring-boot-starter-actuator是Spring Boot提供的一个用于监控和管理应用程序的模块 用于查看应用程序的健康状况、审计信息、指标和其他有用的信息。这些端点可以帮助你监控应用程序的运行状态、性能指标和健康状况。 已经有了…...

Linux 性能分析工具 perf 的使用指南
什么是perf,可以用来干什么 perf 是 Linux 内核的性能分析工具集,它可以用来监控和分析系统和应用程序的性能。perf 提供了一系列功能强大的子命令,可以帮助开发者和系统管理员: 监控 CPU 使用率:识别最消耗 CPU 的代…...

【QT入门】 Qt代码创建布局之水平布局、竖直布局详解
往期回顾: 【QT入门】 Qt实现自定义信号-CSDN博客 【QT入门】 Qt自定义信号后跨线程发送信号-CSDN博客 【QT入门】 Qt内存管理机制详解-CSDN博客 【QT入门】 Qt代码创建布局之水平布局、竖直布局详解 先看两个问题: 1、ui设计器设计界面很方便…...

C 传递数组给函数
如果您想要在函数中传递一个一维数组作为参数,您必须以下面三种方式来声明函数形式参数,这三种声明方式的结果是一样的,因为每种方式都会告诉编译器将要接收一个整型指针。同样地,您也可以传递一个多维数组作为形式参数。 方式 1…...

二次开发Flink-coGroup算子支持迟到数据通过测输出流提取
目录 1.背景 2.coGroup算子源码分析 2.1完整的coGroup算子调用流程 2.2coGroup方法入口 2.3 CoGroupedStreams对象分析 2.4WithWindow内部类分析 2.5CoGroupWindowFunction函数分析 3.修改源码支持获取迟到数据测输出流 3.1复制CoGroupedStreams 3.2新增WithWindow.si…...

【容器源码篇】Set容器(HashSet,LinkedHashSet,TreeSet的特点)
文章目录 ⭐容器继承关系🌹Set容器🗒️HashSet源码解析构造方法public HashSet()public HashSet(Collection<? extends E> c)public HashSet(int initialCapacity, float loadFactor)HashSet(int initialCapacity, float loadFactor, boolean dum…...

网络工程师实验命令(华为数通HCIA)
VRP系统的基本操作 dis version #查看设备版本信息 sys #进入系统视图 system-name R1 #改设备名字为R1进入接口配置IP地址 int g0/0/0 ip address 192.168.1.1 255.255.255.0 #配置接口地址为192.168.1.1/255.255.255.0 ip address 192.168.1.2 24 sub #此…...

AI大模型学习:AI大模型在特定领域的应用
1. 引言 随着人工智能技术的飞速发展,AI大模型已成为推动科技创新的重要力量。从自然语言处理到图像识别,再到复杂决策支持系统,AI大模型在多个领域展现出了前所未有的潜力和应用广度。本文旨在深入探讨AI大模型在特定领域中的应用࿰…...

Channel 结合 Select 使用
在Go语言中,channel和select结合使用是一种强大的并发模式。channel允许在不同的goroutine之间安全地传递消息,而select使得goroutine可以同时等待多个通信操作(channel操作)。 select语句等待多个channel操作中的任意一个完成。…...

LeetCode-1669题:合并两个链表(原创)
【题目描述】 给你两个链表 list1 和 list2 ,它们包含的元素分别为 n 个和 m 个。请你将 list1 中下标从 a 到 b 的全部节点都删除,并将list2 接在被删除节点的位置。下图中蓝色边和节点展示了操作后的结果: 请你返回结果链表的头指针。 【…...

微服务高级篇(三):分布式缓存+Redis集群
文章目录 一、单点Redis的问题及解决方案二、Redis持久化2.1 单机安装Redis2.2 RDB持久化2.3 AOF持久化2.4 RDB和AOF对比 三、Redis主从3.1 搭建Redis主从架构3.1.1 集群结构3.1.2 准备实例和配置3.1.3 启动3.1.4 开启主从关系3.1.5 测试 3.2 数据同步3.2.1 全量同步【建立连接…...

机器学习——元学习
元学习(Meta Learning)是一种机器学习方法,旨在使模型能够学习如何学习。它涉及到在学习过程中自动化地学习和优化学习算法或模型的能力。元学习的目标是使模型能够从有限的训练样本中快速适应新任务或新环境。 在传统的机器学习中ÿ…...

day56 动态规划part13
300. 最长递增子序列 中等 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,…...

Mybatis别名 动态sql语句 分页查询
给Mybatis的实体类起别名 给Mybatis的xml文件注册mapper映射文件 动态sql语句 1 if 2 choose 3 where 4 foreach 一)if 查询指定名称商品信息 语法: SELECT * FROM goods where 11 <if test "gName!null"> and g.g_name like co…...

【算法题】三道题理解算法思想--滑动窗口篇
滑动窗口 本篇文章中会带大家从零基础到学会利用滑动窗口的思想解决算法题,我从力扣上筛选了三道题,难度由浅到深,会附上题目链接以及算法原理和解题代码,希望大家能坚持看完,绝对能有收获,大家有更好的思…...

go env 命令详解
文章目录 1.简介2.格式3.示例4.环境变量参考文献 1.简介 go env 用于查看和设置 Go 环境变量。 默认情况下 go env 输出格式为 Shell 脚本格式(如 Windows 上是 batch 文件格式)。如果指定变量名称,则只输出变量的值。 2.格式 go env [-j…...

flutter 单例模式
总的思想就是: 确保整个应用程序中只有一个 TranslationService 实例。 避免重复创建相同的实例,节省资源。 为整个应用程序提供一个全局访问点,方便在不同地方使用同一个实例。 1.类创建个实例 2.然后用构造函数赋值给实例 3.其他地方调用时返回实例 import pack…...

1.7.2 python练习题15道
1、求出1 / 1 1 / 3 1 / 5……1 / 99的和 (1分之一1分之三1分支5....) 2、用循环语句,计算2 - 10之间整数的循环相乘的值 (2*3*4*5....10) 3、用for循环打印九九乘法表 4、求每个字符串中字符出现的个数如:helloworld 5、实现把字符串str …...

python如何获取word文档的总页数
最近在搞AI. 遇到了一个问题,就是要进行doc文档的解析。并且需要展示每个文档的总页数。 利用AI. 分别尝试了chatGPT, 文心一言, github copilot,Kimi 等工具,给出来的答案都不尽如人意。 给的最多的查询方式就是下面这种。 这个…...

python解压RAR文件
本文使用创作助手。 要在Python中解压RAR文件,你可以使用第三方库rarfile。以下是一个示例代码,演示如何解压RAR文件: 首先,你需要安装 rarfile 库。你可以使用以下命令进行安装: pip install rarfile然后ÿ…...

灯哥驱动器端口讲解----foc电机驱动必看
CS:是电流采样的引脚,三项采样电流,现在只给了两路,另外一路算出来就行了 in:三项电流输入,驱动电机使用。 en:没有用 SDA,SCL:I2C的引脚用来读取编码器的计数值 tx,rx:引出来了一路串口,没有用…...

lua 获取指定路径下的所有文件夹
一、io.popen 函数获取 io.popen 是 Lua 中的一个函数,它允许你执行一个外部命令并将命令的输出作为流处理。如果你想在 Lua 中通过 io.popen 执行 dir 命令(linux 命令是ls )来获取指定文件夹下的所有文件及其路径,你可以构造一个适用于 Windows 环境下…...

#Linux(SSH软件安装及简单使用)
(一)发行版:Ubuntu16.04.7 (二)记录: (1)终端键入(root权限)安装 apt-get install openssh-server 安装时遇到报错 E: Could not get lock /var/lib/dpkg/…...

Android中运动事件的处理
1.目录 目录 1.目录 2.前言 3.程序演示 4.第二种程序示例 5.扩展 2.前言 触摸屏(TouchScreen)和滚动球(TrackBall)是 Android 中除了键盘之外的主要输入设备。如果需要使用触摸屏和滚动球,主要可以通过使用运动事…...