In this simple tutorial you will learn how to create buttons in flutter. You will look at how to create various types of buttons. This is a practical tutorial and is based on simple step by step examples.

Example - Flutter Raised Button Example

This is an example of how to create raised buttons in flutter.

Step 1: Dependencies

No special or third party dependency is needed for this project.

Step 2: Write Code

The next step is to write our code in Dart programming language. We have only one file: main.dart.

How To Customize Flutter Popup Menu Button Widget | Flutter Tutorial 2022 | Flutter Widgets

How To Customize Flutter Popup Menu...
How To Customize Flutter Popup Menu Button Widget | Flutter Tutorial 2022 | Flutter Widgets

Start by importing the material.dart package at the top of this file:


import 'package:flutter/material.dart';

Define our main() function. This is the entry point to our app. This is where we will run our app.

void main() {
  runApp(new MaterialApp(
    home: new MyApp()
  ));
}

Create a class that represents our app bu extending the StatefulWidget class:

class MyApp extends StatefulWidget {
  @override
  _State createState() => new _State();
}

Create a state class with our instance field as a string:

class _State extends State<MyApp> {

  String _value = "Hello world";

Define our event handler. This is where we will modify our state value:

  void onClick() {
    setState(() {
      _value = "My name is ami";
    });
  }

Build our widget:

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text('Name here'),
      ),
      body: new Container(
        padding: new EdgeInsets.all(32.0),
        child: new Column(
          children: <Widget>[
            new Text(_value),
            new RaisedButton(onPressed: onClick, child: new Text("Click me"),)
          ],
        ),
      ),
    );
  }
}

Here is the full code:

main.dart

import 'package:flutter/material.dart';

void main() {
  runApp(new MaterialApp(
    home: new MyApp()
  ));
}

class MyApp extends StatefulWidget {
  @override
  _State createState() => new _State();
}

class _State extends State<MyApp> {

  String _value = "Hello world";

  void onClick() {
    setState(() {
      _value = "My name is ami";
    });
  }

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text('Name here'),
      ),
      body: new Container(
        padding: new EdgeInsets.all(32.0),
        child: new Column(
          children: <Widget>[
            new Text(_value),
            new RaisedButton(onPressed: onClick, child: new Text("Click me"),)
          ],
        ),
      ),
    );
  }
}

Run

Run the project.

Reference

Download the code using the below links:

Number Link
1. Download code
2. Follow code author

Example 2: Raised Button with Event Handler Parameters

In this second example, you will look at how to pass a parameter or argument to an event handler. For example, let's say you want to pass a value dynamically to the onPressed() event, maybe then show that dynamic value when the button is pressed.

Step 1: Dependencies

No third party or special depdency is needed for this example.

Step 2: Write Dart Code

The next step is to come to our main.dart and add our imports:

import 'package:flutter/material.dart';

Then the main function that will launch our app:

void main() {
  runApp(new MaterialApp(
    home: new MyApp()
  ));
}

Then create our StatelessWidget class:

class MyApp extends StatefulWidget {
  @override
  _State createState() => new _State();
}

Then our State class:

class _State extends State<MyApp> {

  String _value = "Hello world";

Now take note below, you can see our event handler function is taking a parameter. Through this we can pass it a dynamic value.

  void _onPressed(String value) {
    setState(() {
      _value = value;
    }); 
  }

Then here is how we use it with our RaisedButton:

 new RaisedButton(onPressed: () => _onPressed("Hai Ami"), child: new Text("Click me"),)

Here is the full code:

main.dart

import 'package:flutter/material.dart';

void main() {
  runApp(new MaterialApp(
    home: new MyApp()
  ));
}

class MyApp extends StatefulWidget {
  @override
  _State createState() => new _State();
}

class _State extends State<MyApp> {

  String _value = "Hello world";

  void _onPressed(String value) {
    setState(() {
      _value = value;
    }); 
  }

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text('Name here'),
      ),
      body: new Container(
        padding: new EdgeInsets.all(32.0),
        child: new Column(
          children: <Widget>[
            new Text(_value),
            new RaisedButton(onPressed: () => _onPressed("Hai Ami"), child: new Text("Click me"),)
          ],
        ),
      ),
    );
  }
}

Reference

Download the code using the below links:

Number Link
1. Download code
2. Follow code author