flutter - How to set TextButton width

Flutter - TextButton Width
The TextButton class represents a material design text button. The flutter developers can use text buttons on toolbars, in dialogs, or in line with other content. Text buttons do not have visible borders. The flutter developers should avoid using text buttons where they would blend in with other content such as in the middle of lists. The TextButton style can be overridden with its style parameter.

The following flutter application development tutorial will demonstrate how we can set width of a TextButton. We will change the TextButton widget’s default width. Here we will use the TextButton class’s styleFrom() method to change the TextButton’s default width.

The TextButton class’s styleFrom() method is a static convenience method that constructs a text button ButtonStyle given simple values. By default, TextButton class styleFrom() method returns a ButtonStyle that doesn't override anything.

The ButtonStyle class represents the visual properties that most buttons have in common. The ButtonStyle class’s all properties are null by default.

The flutter developers can change a TextButton’s width by passing a value to the styleFrom() method’s fixedSize parameter.

The styleFrom() method’s fixedSize parameter value is a Size instance, which holds a 2D floating-point size. Here we used the Size class Size(double width, double height) constructors to creates a Size with the given width and height.

So we can pass our specified width value to this Size(double width, double height) constructor to set width of the TextButton widget. Here we also add a border to the TextButton widget to clearly determine the TextButton size.

So finally, the flutter app developers can set a width for the TextButton widget by passing a value to the TextButton class’s styleFrom() method fixedSize argument.
main.dart

import 'package:flutter/material.dart';

void main(){
  runApp(
    MaterialApp(
      theme: ThemeData(primarySwatch: Colors.grey),
      home: Scaffold(
          appBar: AppBar(
              title: const Text("Flutter - TextButton Width")
          ),
          body: Center(
            child: TextButton(
                onPressed: (){},
                child: const Text("Click Me"),
                style: TextButton.styleFrom(
                    side: BorderSide(
                        color: Colors.grey.shade300,
                        width: 1,
                        style: BorderStyle.solid
                    ),
                    fixedSize: const Size(250,0)
                )
            ),
          )
      ),
    ),
  );
}