我從字串中創建了一個串列,然后從該串列中創建了按鈕。現在,我希望按下按鈕時它會改變它的顏色。目前我已經完成了以下操作,但它只是暫時改變了按鈕顏色。可以永久更改嗎?
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);
}
uj5u.com熱心網友回復:
使用 styleFrom。它適用于您的情況
ElevatedButton(
onPressed: () => {
},
style: ElevatedButton.styleFrom(
//Add your conditions for button color here
),
uj5u.com熱心網友回復:
嘗試下面的代碼,希望其對您有所幫助,請參考官方檔案
按下按鈕后的結果螢屏 -> 
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/369081.html
