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,
),
Share:
123,177
hesam
Author by

hesam

Mobile Developer

Updated on October 22, 2021

Comments

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

    enter image description here

  • Sisir
    Sisir over 3 years
    If it is a TextFormField you will want to add the errorBorder field also in the similar line which will show incase if the text validation fails