前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

用Extension,实现TextButton文本按钮的功能扩展和简化使用

qiguaw 2024-09-23 12:42:42 资源文章 18 ℃ 0 评论

TextButton文本按钮是前端界面设计中经常要用到的UI小组件,您可以写一个简单的文本按钮并帮它设置一些最简单的参数(如Color颜色、Style文本形式等等)。

例一:


文本按钮组件运作正常,如期展示在屏幕上,等等,您可能会发现,要设置很多参数,如颜色、字体大小、图标颜色、背景颜色、边框等等。但是您初衷是可能只是想把一个简单的文本字符串转成文本按钮,又或者您有很多类似的文本字符串需求。有没有更简单的方法可以做到这一点?您可能会想到设置一个新类,甚至重构...但为了一个小方法而重构代码,似乎又太重了点。有没有更好的思路呢?

有一种思路叫做Extension methods,顾名思义,就是扩展方法,Objectivie C 和 Kotlin都有类似的功能。咱们可以通过extension methods对一些常用类的方法进行扩展,例如时间格式、Text字符串处理等等,相对于为TextButton重新设置一个新类,它显得更轻巧更优雅。

首先,让咱们对TextButton类进行扩展,增加一个toTextButton的方法。

例二:

通过extension 扩展,咱们设置了一个ToTextButton的新方法,新方法只针对VoidCallback回调类型有效,而VoidCallback类型通常见于按下按钮后回调这种常见应用情景。ToTextButton返回的其实是一个TextButton,只是没有太多的参数需要设置,只需要提供一个title字符串参数,因为这种特定的扩展,通常都用于特定的用途,本例中,用途也很简单:提供一个把文本转化成按钮的方法(函数)。

例三:


Extension在特定情形下是很强大的功能,有的大神做了一些很有用的 example包,比如 时间扩展(Time Extension) ,国际化扩展包 (i18n extension) ,大家可以拿来使用,提高自己团队的开发效率。

优美的应用体验,来源于程序员对细节的处理。这就是今天学习Dart的内容,如果您感兴趣,或者能对您有所启发,别忘了帮忙点赞支持。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表