Search code examples
flutterdartflutter2.0

Flutter TextButton padding


With the Flutter 2.0 release, the FlatButton has been replaced with TextButton.

Hence, the padding property is not longer available directly, but as a ButtonStyle property.

My problem is, how can I set it since it's no longer available as EdgeInsets?

TextButton(
   style: new ButtonStyle(
     padding: ???,
   ),
   //padding: const EdgeInsets.all(0),   //NOT AVAILABLE
   child: Text("Support", style: Theme.of(context).textTheme.headline2),
      onPressed: () => {Navigator.pushNamed(context, SupportScreen().routeName)},
   ),

Solution

  • Here is my code for TextButton

    Container(
        child: TextButton(
        style: ButtonStyle(
            backgroundColor:
                MaterialStateProperty.all<Color>(Colors.green),
            padding: MaterialStateProperty.all<EdgeInsets>(
                EdgeInsets.all(10)),
        ),
        child: Text(
            "Login",
            style: TextStyle(
            height: 1.0,
            fontSize: 30,
            color: Colors.white,
            ),
        ),
        onPressed: () => {print("login")},
        ),  
    ),
    

    see I used the style property for the TextButton Widget to insert the padding and the background and for both I used MaterialStateProperty.all