[英]Change Background Color of Elevated Button OnPressed in 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.