第二百一十一回

2023-12-18 07:44
文章标签 二百一十 一回

本文主要是介绍第二百一十一回,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1. 概念介绍
  • 2. 修改方法 015buttonStyle.png
    • 2.1 修改形状
    • 2.2 修改颜色
    • 2.3 修改位置
  • 3. 示例代码
  • 4. 内容总结

我们在上一章回中介绍了"如何创建以图片为背景的页面"相关的内容,本章回中将介绍如何修改按钮的形状.闲话休提,让我们一起Talk Flutter吧。

1. 概念介绍

我们在前面章回中介绍过按钮的基本用法,如果有看官忘记了可以点击这里查看。本章回中主要介绍如何修改按钮的形状以及其它的属性,比如文字颜色等。按钮默认的形
状是一个圆角矩形,当然这个默认形状使用的是默认的theme,如果换成新的Material3默认主题,那么按钮的默认形状就是椭圆,而且带有浅紫色背景。下面是一个示
例图,图中上面的按钮是Material3默认主题下的Button,下面的按钮是我们修改后的按钮,大家对比一下就会发现它们的形状,颜色,文字位置都不一样。
在实际项目中这种默认的形状和颜色通常不符合设计需求,那么如何修改呢?看官莫急,本章回中将详细介绍如何修改按钮的形状,颜色,内容的位置以及边距。

2. 修改方法 015buttonStyle.png

我们修改的内容包含形状,颜色,内容的位置,这些内容都属于按钮的外观风格,通过按钮的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()方法,该方法只指定指定属性的内容,其它的内容保持不变;
    看官们,与"如何修改按钮的形状"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

这篇关于第二百一十一回的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/507620

相关文章

第二百一十二节 Java反射 - Java构造函数反射

Java反射 - Java构造函数反射 以下四种方法来自 Class 类获取有关构造函数的信息: Constructor[] getConstructors()Constructor[] getDeclaredConstructors()Constructor<T> getConstructor(Class... parameterTypes)Constructor<T> ge

Android14之向build.prop添加属性(二百一十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门实战课【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行

诺基亚又被微软耍了一回

在塞班系统日渐式微和放弃对自己Meego系统的研发后,诺基亚几乎全身心投入到微软windows phone系统手机的研发,并对其寄予极大的厚望。然而,当wp7的手机出来没多久,微软就结结实实的砍了这位昔日的手机霸主一刀:新推出的wp8系统不能应用于现有的手机。本来被给予厚望的Lumia wp7系列手机的销售大受影响,Lumia900的价格也被迫有由99.99美元的两年合约价调低到49.99美元。

第四百四十一回 再谈flutter_native_splash包

文章目录 1. 知识回顾2. 使用方法3. 示例代码4. 经验与总结4.1 经验分享4.2 内容总结 我们在上一章回中介绍了"overlay_tooltip简介"相关的内容,本章回中将 再谈flutter_native_splash包.闲话休提,让我们一起Talk Flutter吧。 1. 知识回顾 我们在第四百一十一回介绍了flutter_native_splash包的

历时四年打造的纯电动超跑:我们去体验了一回前途K50

今年 6 月 30 日,前途汽车旗下首辆电动超跑前途 K50 在苏州的工厂正式量产下线。当时有很多人跑来问前途汽车董事长陆群:是不是可以卖车了?现在是不是可以预定了?陆群开玩笑说,「如果没开过这辆车,现在不接受预订。」 过去 4 年,无论是在北京车展或者上海车展,你会发在这家新造车公司从未缺席。每一次展示,意味着前途 K50 又进行了新的迭代。从 2014 年到 2018 年,前途汽车从核心

搞了半天blender整动画这么爽,骨骼重定向一回,动作就可以到处套用,和音频对轨也好使

我们搞到了运动数据(可能是bvh文件,也可能是fbx文件)之后,想要让某个静态的模型动起来。 我们假定用的是Tpose的模型(因为我这个bvh文件是Tpose用的,所以为了动作映射不出问题,优先整的这种模型),需要给它套上运动数据。 使用rokoko或者auto-rig-pro(arp)之类的插件将动作数据映射(remap/retarget)到模型的骨架上之后。 在blender的大纲视图里,对应

一起talk C栗子吧(第一百三十一回:C语言实例--C程序内存布局三)

各位看官们,大家好,上一回中咱们说的是C程序内存布局的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起talk C栗子吧! 看官们,关于C程序内存布局的例子,我们在前面的两个章回都介绍过了,这一回我们将对前面章回中的内容进行总结和提示。 内存布局总结 C程序的内存布局主要有四个分区:代码区,数据区(data和bss),堆区和栈区。可以使用readelf -S filenam

一起Talk Android吧(第一百三十一回:Android自定义View八)

各位看官们,大家好,上一回中咱们说的是Android中自定义View的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起Talk Android吧! 看官们,我们在前面章回中介绍了自定义View时需要重写的一些方法,同时还查看了系统自带View(LinearLayout)中的这些方 法,再接下来的章回中,我们将参考这些方法,自己动手去实现这些方法。 好了终于要自己动手了,是不是很兴奋

一起Talk Android吧(第一百八十一回:Android中的Handler机制十)

各位看官们大家好,上一回中咱们说的是Android中Handler机制的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起Talk Android吧! 看官们,我们在一章回中留下了一个问题,这一回中我们解答此问题。在解答问题前先了解一下Android中修改UI控件的规则:在Android中只能在主线程中修改UI控件。 制定此规则一则是为了避免子线程修改主线程中的UI造成阻塞,再则是为

一起Talk Android吧(第三百零一回:如何正确地退出应用程序)

各位看官们,大家好,上一回中咱们说的是Android中修改应用程序包名的例子,这一回咱们说的例子是如何正确地退出应用程序。闲话休提,言归正转。让我们一起Talk Android吧! 看官们,程序中有一个常见的操作是快速按下两次返回键退出当前程序,判断返回键被按下两次的方法比较多,这里不做介绍,大家自行去查找,把此方法添加到onBackPressed()方法中就可以了,最重要的是如何退出应用程