使用 Flutter 创建的项目,用于模拟转账。
在 main 中,我们指定了项目启动时将要使用的页面。该项目将从 ListaTransferencias() 开始。并且主题,这里选择的是深色模式。
void main() => runApp(ByteBankApp());
class ByteBankApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData.dark(),
home: ListaTransferencias(),
);
}
}
在 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
}
}
}

