Flutter

  Flutter世界中的一切都是一个组成部分。 与Reactive Native不同,Flutter正式提供了丰富的组件。 可以满足客户的大部分需求。 您不必构建自己的轮子并引入第三方依赖项。

  但无论您的组件库有多丰富,您都无法满足少数特殊需求。 当您遇到特殊要求时,我们需要自己编写组件 - 自己设置组件。

  今天,让我们来体验一下Flutter组件。


<code>import 'package:flutter/foundation.dart';import 'package:flutter/material.dart';class FancyButton extends StatelessWidget{  }</code>

在这里我们除了引用 material.dart 又引用了foundation.dart。我们在基础的组件的基础对其扩展来开发自己的组件。


<code>import 'package:flutter/foundation.dart';import 'package:flutter/material.dart';class FancyButton extends StatelessWidget {  FancyButton({@required this.onPressed});  final GestureTapCallback onPressed;  @override  Widget build(BuildContext context) {    // TODO: implement build    return null;  }}</code>

这里定义了一个 FancyButton 扩展了 StatelessWidget Widget,在构造函数需要传入一个 onPressed 方法作为按钮按下的动作。


@required 修饰参数表示这个参数是必填项,

实现 build 方法,在此我们定义如何渲染我们的自己设置组件

onPressed 类型为触控动作的回调函数

<code>     floatingActionButton: FancyButton(        onPressed: () {          Navigator.pop(context, 'angularjs');        },      ),      // floatingActionButton: FloatingActionButton(onPressed: () {      //   Navigator.pop(context, 'angularjs');      // }),</code>

注释掉原有代码,使用我们自己定义的 FancyButton 来做悬浮按钮来使用。而后传入一个 onPress 方法作为按钮动作的执行函数。

评论(0条)

请登录后评论
admin

admin

0

0

0

( 此人很懒并没有留下什么~~ )