Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Flutter textfield background color on focus

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),
                  ),
                ),
              ))),

enter image description here

like image 742
hesam Avatar asked Jan 22 '19 11:01

hesam


2 Answers

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),       ),     ),   ), ); 
like image 139
Jordan Davies Avatar answered Sep 17 '22 01:09

Jordan Davies


“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),
  ...
)
like image 26
Suresh B B Avatar answered Sep 21 '22 01:09

Suresh B B