Eu estou trabalhando num projeto, e nele eu criei um componente de mensagem, o que eu gostaria é que antes de aparecer o Text com a mensagem, tivesse uma pequena animação de carregamento. Pesquisando, eu descobri uma dependência que eu posso baixar chamada progress_indicators que tem a animação que eu quero, mas eu ainda não sei como fazer para se o meu _loader for true, aparecer a animação e depois de um certo timer, trocar pro Text.
import 'package:flutter/material.dart';
import 'package:progress_indicators/progress_indicators.dart';
// Classe genérica pra criar as mensagens
abstract class Message extends StatefulWidget {
final MainAxisAlignment _alignment;
final Color _backgroundColor;
final Color _textColor;
final String _msg;
final bool _loader;
Message(this._msg, this._alignment, this._backgroundColor, this._textColor,
this._loader);
@override
_MessageState createState() => _MessageState();
}
class _MessageState extends State<Message> {
@override
Widget build(BuildContext context) {
return Row(
mainAxisAlignment: widget._alignment,
children: [
Card(
color: widget._backgroundColor,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
widget._msg,
style: TextStyle(
fontSize: 20,
color: widget._textColor,
),
),
),
),
],
);
}
}
class UserMessage extends Message {
UserMessage(String msg)
: super(msg, MainAxisAlignment.end, Colors.white, Colors.black, true);
}