一、問題背景
我想改變按鈕的背景顏色,保持圖示的原始顏色。在我的程式中,我的按鈕顏色是藍色的。由于我想去除藍色,我嘗試了幾種方法。但一切都沒有奏效。
2. 我已經嘗試過的
主題:主題資料
主題:ThemeData(colorScheme:const ColorScheme.light(主要:Colors.lime,),),
背景顏色:Theme.of()
backgroundColor: Theme.of(context).primaryColor,
(等使用主題顏色修改)
3. 我的代碼和結果
body : Center(
child: Container(
height: 500,
color: Colors.lime[200],
child: ListView.builder(
itemCount :name.length,
itemBuilder: (c,i){
return Align(
alignment: Alignment.bottomRight,
child: ListTile(
leading: const Icon(Icons.shopping_bag),
title : Text(name[i]),
),
);
},
),
),
),
floatingActionButton: FloatingActionButton(
theme: ThemeData(
colorScheme: const ColorScheme.light(
primary : Colors.lime,
),
),
onPressed: (){
showDialog(context: context, builder: (context) {
//designate the developer made function into specific name
return DialogUI(usingaddOne:addOne, usingaddString : addString);
});
},
child : const Icon(Icons.shopping_cart, ,),
),
);}
}
結果
4. 問題
我想用圖示的原始顏色更改具有石灰(或紅色)背景顏色的按鈕。或者只是洗掉藍色。還有其他我沒有嘗試過的方法嗎?
uj5u.com熱心網友回復:
你做得對,只是在主題中有一個這樣的屬性:
static ThemeData get lightTheme {
return ThemeData(
primarySwatch: Colors.white, // your main color app
brightness: Brightness.light,
fontFamily: 'Segoe',
// * FLOATING ACTION BUTTON THEME
floatingActionButtonTheme: FloatingActionButtonThemeData(
elevation: 2, // elevation
backgroundColor: Colors.lime, // the background color
),
);
}
}
這個靜態 ThemeData 變數(在其他類中創建它,我命名為AppTheme),您可以將它寫在MaterialApp的main.dart中,如下所示:
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Flutter Demo',
theme: AppTheme.lightTheme, // here
initialRoute: PageNames.home,
);
在您的FloatingActionButton中,您無需執行任何其他操作
FloatingActionButton(
onPressed: () => onAction(),
child: Icon(
Icons.add,
color: Colors.white,
),
),
換句話說,洗掉您的FloatingActionButton Widget 中的主題并將其放入您的MaterialApp
uj5u.com熱心網友回復:
你可以通過兩種方式做到這一點:
定義要在主題中使用的顏色:
floatingActionButtonTheme: FloatingActionButtonThemeData( backgroundColor: Colors.pink, ),設定
backgroundColor屬性FloatingActionButton:floatingActionButton: FloatingActionButton( backgroundColor: Colors.black, child: Icon(Icons.check), onPressed: () {}, ),
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/477654.html
下一篇:反應原生:按下時更改組件道具

