使用 Flutter 创建的项目,用于模拟转账。

在 main 中,我们指定了项目启动时将要使用的页面。该项目将从 ListaTransferencias() 开始。并且主题,这里选择的是深色模式。

void main() => runApp(ByteBankApp());

class ByteBankApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData.dark(),
      home: ListaTransferencias(),

    );
  }
}

Untitled

在 ListaTransferencias() 页面中,将有一个 ListView.builder 组件,其中将显示在 FormulariosTransferencias 页面中进行的转账。

页面上还有一个带有添加图标的按钮,以及一个用于更新此页面上转账的 void 函数。

void _atualiza(Transferencia? transferenciaRecebida) {
    if(transferenciaRecebida != null) {
      setState((){
        widget._transferencias.add(transferenciaRecebida);
      });
    }
  }
}

卡片在 ItemTransferencia 类中编辑。

class ItemTransferencia extends StatelessWidget {
  final Transferencia _transferencia;

  ItemTransferencia(this._transferencia);

  @override
  Widget build(BuildContext context) {
    return Card(
      child: ListTile(
        leading: Icon(Icons.monetization_on),
        title: Text(_transferencia.valor.toString()),
        subtitle: Text(_transferencia.numeroConta.toString()),
      ),
    );
  }
}

在 FormulárioTransferencia() 页面中,导入了其他创建的页面,以及将在以下代码中使用的转账页面。

void _criaTransferencia(BuildContext context) {
    final int? numeroConta = int.tryParse(
        _controladorCampoNumeroConta.text);
    final double? valor = double.tryParse(
        _controladorCampoValor.text);
    if (numeroConta != null && valor != null) {
      final transferenciaCriada = Transferencia(valor, numeroConta);
      debugPrint('$transferenciaCriada');
      Navigator.pop(context, transferenciaCriada); // que vai notificar a lista
    }
  }
}

Untitled (1)

GitHub

查看 Github