flutter - 如何临时更改 Flutter 小部件中的文本颜色(和变回)?

标签 flutter dart

我正在寻找一种解决方案,将文本小部件中的文本颜色暂时更改为红色 3 秒。我目前可以将它设置为红色,但如何在这段时间后将其更改回原样?

最佳答案

像这样...

import 'dart:async';
void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: SO(),
    );
  }
}
class SO extends StatefulWidget {
  @override
  _SOState createState() => _SOState();
}

class _SOState extends State<SO> {
  static final orgColor = Colors.black;
  var currentColor  = orgColor;
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Center(child: Text("this is colored",style: TextStyle(color: currentColor,fontSize: 40),)),
      floatingActionButton: FloatingActionButton(onPressed: () {
        setState(() {
          currentColor = Colors.red;
        });
        Timer(Duration(seconds: 3),(){
          setState(() {
            currentColor = orgColor;
          });
        });
      },),
    );
  }
}
import 'dart:async';
void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: SO(),
    );
  }
}
class SO extends StatefulWidget {
  @override
  _SOState createState() => _SOState();
}

class _SOState extends State<SO> {
  static final orgColor = Colors.red;
  var currentColor  = orgColor;
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Center(child: Text("this is colored",style: TextStyle(color: currentColor,fontSize: 40),)),
      floatingActionButton: FloatingActionButton(onPressed: () {
        setState(() {
          currentColor = Colors.blue;
        });
        Timer(Duration(seconds: 2),(){
          setState(() {
            currentColor = orgColor;
          });
        });
      },),
    );
  }
}

基本上设置一个定时器等待一段时间(这里是2秒)然后重置状态。

关于flutter - 如何临时更改 Flutter 小部件中的文本颜色(和变回)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57650778/

相关文章:

flutter - 如何在Flutter的弧形导航栏中更改子页面

flutter - flutter 我如何连续外星图标

android - 如何在 flutter 中制作音频修剪小部件和声音波形图

flutter - 如何在 flutter 中使用onchange方法检查值的长度

flutter - 无法将类型为 'String' 的值分配给 flutter Getx 中类型为 'RxString' 的变量

google-maps - GoogleMap 的 onCameraIdle 在 SingleChildScrollView 中停止触发

flutter - Flutter:尽管用户已在Firebase Auth中注册,但一次又一次发送OTP

dart - 在Dart网络应用程序中,比新的DateTime更精确的是什么?

flutter - 多个按钮/文本在一个圆圈中 flutter

dart - 如何在 Flutter 中添加文件选择器插件?