Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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)},
   ),
like image 354
Sen Alexandru Avatar asked Mar 04 '21 13:03

Sen Alexandru


2 Answers

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

like image 91
bishoyN Avatar answered Oct 14 '22 07:10

bishoyN


You can do it like this for example:

TextButton(
              onPressed: () {},
              child: Text('Hello World'),
              style: TextButton.styleFrom(
                padding: EdgeInsets.fromLTRB(10, 10, 10, 10),
                primary: Colors.teal,
              ),
            ),

TextButton.styleFrom() ref doc: https://api.flutter.dev/flutter/material/TextButton-class.html

example and playarounds with new button: https://www.woolha.com/tutorials/flutter-using-textbutton-widget-examples

like image 42
Marcel Dz Avatar answered Oct 14 '22 06:10

Marcel Dz