flutter 自定义组件

本文介绍如何在Flutter中创建自定义的RaisedButton组件,通过复用代码简化页面构建,提供了一个简单的实现示例,包括组件的样式配置和点击事件处理。
摘要由CSDN通过智能技术生成
写了两天的flutter,发现控件样式很多,flutter资源很少,本文在于实用性,可以减少页面代码,复用代码

页面只需引用
 child: MyRaisedButton(onPress: onPressFirstBtn, text: "haha"),
    );
  }

  void onPressFirstBtn() {
    Navigator.push(
      context,
      MaterialPageRoute(builder: (context) => WalkingPad()),
//                    TextPage()),
    );
  }
import 'package:flutter/material.dart';

class MyRaisedButton extends RaisedButton {
  @required
  VoidCallback onPress;
  String text = "";

  MyRaisedButton({this.onPress, this.text});

  @override
  // TODO: implement color
  Color get color => Colors.grey;

  @override
  // TODO: implement textColor
  Color get textColor => Colors.white;

  @override
  // TODO: implement child
  Widget get child => Text(
        text,
        style: TextStyle(fontSize: 20, color: Colors.white),
      );

  @override
  // TODO: implement textTheme
  Button
Flutter 中,你可以使用自定义组件来创建树状图。下面是一个简单的示例: 首先,创建一个名为 `TreeNode` 的自定义组件,用于表示树的节点: ```dart class TreeNode extends StatelessWidget { final String title; final List<TreeNode> children; TreeNode({required this.title, required this.children}); @override Widget build(BuildContext context) { return Column( children: [ Text(title), SizedBox(height: 10), Column( children: children.map((node) => TreeNode(title: node.title, children: node.children)).toList(), ), ], ); } } ``` 然后,可以使用 `TreeNode` 组件来构建树状图。例如,假设我们有以下的树结构: ``` - Root - Node 1 - Leaf 1.1 - Leaf 1.2 - Node 2 - Leaf 2.1 - Node 3 ``` 可以使用以下代码来构建树状图: ```dart TreeNode root = TreeNode( title: 'Root', children: [ TreeNode( title: 'Node 1', children: [ TreeNode(title: 'Leaf 1.1', children: []), TreeNode(title: 'Leaf 1.2', children: []), ], ), TreeNode( title: 'Node 2', children: [ TreeNode(title: 'Leaf 2.1', children: []), ], ), TreeNode(title: 'Node 3', children: []), ], ); ``` 最后,将 `root` 组件放入 `build` 方法中的 `Widget` 树中进行渲染: ```dart @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Tree Example'), ), body: SingleChildScrollView( child: TreeNode(title: root.title, children: root.children), ), ); } ``` 这样,你就可以在 Flutter 应用中显示一个简单的树状图了。根据实际需求,你可以对 `TreeNode` 组件进行更多的自定义和样式调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值