Flutter textfield background color on focus
123,177
Solution 1
It looks like it's caused by the splash effect on the textfield. I couldn't find a way to disable it for that specific widget but you can make it transparent by wrapping your TextField
in a Theme
widget and setting the splashColor
to transparent:
Theme(
data: Theme.of(context).copyWith(splashColor: Colors.transparent),
child: TextField(
autofocus: false,
style: TextStyle(fontSize: 22.0, color: Color(0xFFbdc6cf)),
decoration: InputDecoration(
filled: true,
fillColor: Colors.white,
hintText: 'Username',
contentPadding:
const EdgeInsets.only(left: 14.0, bottom: 8.0, top: 8.0),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.white),
borderRadius: BorderRadius.circular(25.7),
),
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.white),
borderRadius: BorderRadius.circular(25.7),
),
),
),
);
Solution 2
To do it you should set filled
to true
.
TextField(decoration: InputDecoration( fillColor: Colors.red, filled: true)),
Solution 3
“Flutter Textfield background color”
*Change border color of TextField in flutter
TextFormField(
decoration: InputDecoration(
labelText: "Resevior Name",
fillColor: Colors.white,
focusedBorder:OutlineInputBorder(
borderSide: const BorderSide(color: Colors.white, width: 2.0),
borderRadius: BorderRadius.circular(25.0),
),
),
)
text fieldform color flutter
TextField(
style: TextStyle(color: Colors.red),
decoration: InputDecoration(fillColor: Colors.orange, filled: true),
)
Flutter TextFormField background color
TextFormField(
decoration: InputDecoration(
labelText: "Resevior Name",
fillColor: Colors.white,
filled: true, // dont forget this line
...
)
...
)
Flutter textfield label color
labelStyle: TextStyle(
color: Colors.white,
)
Color textfield text flutter
TextField(
style: TextStyle(color: Colors.white),
...
)
Solution 4
use BorderSide.none as:
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(10.0),
borderSide: BorderSide.none,
),
Comments
-
hesam over 2 years
I have a rounded textfield. It works well, but when the user taps on it, a grey color background appears. How can I disable that splash effect?
This is my code and result:
new Container( margin: const EdgeInsets.only(left: 30.0, top: 60.0, right: 30.0), height: 40.0, decoration: new BoxDecoration( color: Colors.white, borderRadius: new BorderRadius.all(new Radius.circular(25.7)) ), child: new Directionality( textDirection: TextDirection.ltr, child: new TextField( controller: null, autofocus: false, style: new TextStyle(fontSize: 22.0, color: Color(0xFFbdc6cf)), decoration: new InputDecoration( filled: true, fillColor: Colors.white, hintText: 'Username', contentPadding: const EdgeInsets.only( left: 14.0, bottom: 8.0, top: 8.0), focusedBorder: OutlineInputBorder( borderSide: new BorderSide(color: Colors.white), borderRadius: new BorderRadius.circular(25.7), ), enabledBorder: UnderlineInputBorder( borderSide: new BorderSide(color: Colors.white), borderRadius: new BorderRadius.circular(25.7), ), ), ))),
-
Sisir over 3 yearsIf it is a
TextFormField
you will want to add theerrorBorder
field also in the similar line which will show incase if the text validation fails