代码之家  ›  专栏  ›  技术社区  ›  Malak

ElevatedButton内的文本不变| Flutter

  •  0
  • Malak  · 技术社区  · 4 年前

    我有一个简单的问题。为什么我的颜色 文本 内部 提升按钮 当我点击按钮时没有改变吗?

    我尝试了两种方法:

    • 通过添加变量 _firColor 在里面 color : 在…内 TextStyle 作为参数。

    • 通过添加变量 _firColor 在里面 foregroundColor : 在…内 ElevatedButton.styleFrom 作为参数。

    它们都不起作用。

    印刷 _firColor 结果总是一样的。单击一次即可打印2行。

    result of printing

    它的行为就像在更改的值之后 _firColor 它总是导致它的价值观向他的核心价值观转变。

    **代码:**

    import 'package:flutter/material.dart';
    
    void main() {
      runApp(const MyApp());
    }
    
    class MyApp extends StatelessWidget {
      const MyApp({Key? key}) : super(key: key);
    
      @override
      Widget build(BuildContext context) => const MaterialApp(
            home: MyHomePage(),
          );
    }
    
    class MyHomePage extends StatefulWidget {
      const MyHomePage({Key? key}) : super(key: key);
    
      @override
      State<MyHomePage> createState() => _MyHomePageState();
    }
    
    class _MyHomePageState extends State<MyHomePage> {
      @override
      Widget build(BuildContext context) {
        Color _firColor = const Color.fromARGB(199, 84, 84, 84);
    
        return Scaffold(
          backgroundColor: const Color.fromARGB(198, 188, 112, 112),
          body: Center(
            child: ElevatedButton(
              child: Text(
                "login",
                style: TextStyle(fontSize: 40, color: _firColor),
              ),
              style: ElevatedButton.styleFrom(
                foregroundColor: _firColor,
                backgroundColor: Colors.white,
              ),
              onPressed: () {
                setState(() {
                  print(_firColor);
                  _firColor = Colors.black;
                  print(_firColor);
    });})));}}
    

    photo

    1 回复  |  直到 4 年前
        1
  •  2
  •   pmatatias    4 年前
    class _MyHomePageState extends State<MyHomePage> {
     Color _firColor = const Color.fromARGB(199, 84, 84, 84);
      @override
      Widget build(BuildContext context) {
        return Scaffold(
    ........