声明:阅读该文章请确保你有 Android 开发的相关知识
这是《Android 开发者的 Flutter》系列的第四篇,如果想看上一篇请参考:
Android 开发者的 Flutter(三) —— Flutter 中的动画与绘制

Flutter 如何自定义 Widget

在 Android 中,您通常会使用子类 View 或预先存在的视图来重写和实现方法,以获得所需的行为。

在 Flutter 构建中,一个自定义 Widget 通常不是通过扩展,而是组合较小的 Widget 来实现的。在 Android 中,这与实现自定义 ViewGroup 有些类似 ,其中所有构建块已经存在,但您提供了不同的行为 —— 例如,自定义布局逻辑。

我们来看看如何构建一个 CustomButton 在构造函数中使用标签的方法。这是通过组合它来实现的 RaisedButton,而不是扩展 RaisedButton,重写并实现新的方法:

class CustomButton extends StatelessWidget {  final String label;  CustomButton(this.label);  @override  Widget build(BuildContext context) {    return new RaisedButton(onPressed: () {}, child: new Text(label));  }}

然后,您可以 CustomButton 像使用其他任何 Widget 一样使用它:

@overrideWidget build(BuildContext context) {  return new Center(    child: new CustomButton("Hello"),  );}

更多相关文章

  1. 浅谈Java中Collections.sort对List排序的两种方法
  2. Python list sort方法的具体使用
  3. python list.sort()根据多个关键字排序的方法实现
  4. android上一些方法的区别和用法的注意事项
  5. android EditText设置不可写
  6. Android(安卓)拨号器的简单实现
  7. android实现字体闪烁动画的方法
  8. Android中dispatchDraw分析
  9. Android中不同应用间实现SharedPreferences数据共享

随机推荐

  1. Lombok有啥牛皮的?SpringBoot和IDEA官方都
  2. 干掉mapper.xml!MyBatis新特性动态SQL真香
  3. MyBatis 的 四 个妙用
  4. 数据库迁移搞炸了!没用这款开源神器的锅?
  5. Mall电商实战项目专属学习路线,主流技术一
  6. Serverless 如何应对 K8s 在离线场景下的
  7. 如何快速往cloud shell中传送文件
  8. PMP考试心得
  9. Spring Cloud第二篇:服务消费者RestTempla
  10. SpringBoot第二十五篇:2小时学会springboo