簡體   English   中英

我可以在 flutter 中永久更改提升按鈕的背景顏色嗎?

[英]Can I change the background color of elevated button permanently in flutter?

我從一個字符串中創建了一個列表,然后從該列表中創建了按鈕。 現在,我希望當按下按鈕時它會改變它的顏色。 目前我已經完成了以下操作,但它只是暫時改變了按鈕顏色。 可以永久更改嗎?

List<Widget> _buildButtonsWithNames() {
    for (int i = 0; i < wordlist.length; i++) {
      buttonsList.add(
        new ElevatedButton(
          onPressed: () => {
           
          },
          child: Text(wordlist[i]),
          style: ButtonStyle(
              overlayColor: getColor(Colors.white, Colors.teal),
              backgroundColor: getColor(Colors.blue, Colors.red)),
        ),
      );
    }
    return buttonsList;
  }

  MaterialStateProperty<Color> getColor(Color color, Color colorPressed) {
    final getColor = (Set<MaterialState> states) {
      if (states.contains(MaterialState.pressed)) {
        return colorPressed;
      } else {
        return color;
      }
    };
    return MaterialStateProperty.resolveWith(getColor);
  }

使用 styleFrom。 它適用於你的情況

樣式:ElevatedButton.styleFrom(

                                   //Add your conditions for button color here

                                  ),

試試下面的代碼希望它對你有幫助,請參考官方文檔here for ElevatedButton()

   ElevatedButton(
                    onPressed: () {
                      print('Button Pressed');
                      //add your button pressed function here
                    },
                    child: Text('OK'),
                    style: ElevatedButton.styleFrom(
                      primary: Colors.red,//chnage color on your need
                    ),
                  ),

您的結果屏幕-> 在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM