Stay up to date with the latest Flutter updates and information
Stay ahead of the curve with the latest Flutter updates and information

Create Beautiful Buttons Easily with Our Material Design Flutter Plugin

What is Flutter Plugin?

In today’s world, mobile applications play a crucial role in the success of a business. Flutter, an open-source mobile application development framework, has emerged as a popular choice among developers due to its fast development cycles and hot reload feature. One of the main reasons for Flutter’s success is its flexibility in customizing widgets and plugins. In this post, we will discuss how to generate a Flutter plugin to display different styles of Material Design buttons in a Flutter application. We will be using Flutter version 3.7 with null safety to ensure that our plugin is up-to-date and free from potential errors. So, let’s dive into generating a Flutter plugin for Material Design buttons.

General Steps to Create Flutter Plugin

Here is the general steps to create a Flutter plugin:

  1. Open Android Studio or Visual Studio Code and create a new Flutter project.
  2. Create a new Dart file for your plugin code.
  3. Define a class for your plugin and implement the necessary methods.
  4. Add any required dependencies to your pubspec.yaml file.
  5. Create an example app to test your plugin.
  6. Create a new Android or iOS project to host your plugin code.
  7. Implement the native code for your plugin in the platform-specific project.
  8. Configure your Flutter plugin to use the platform-specific code.
  9. Publish your plugin to the repository or use it in your own project.

These steps can vary slightly depending on the type of plugin you are creating, but they provide a general guideline for getting started with creating a Flutter plugin.

Method to Generate Flutter Plugin

flutter create --template=plugin -i swift -a kotlin material_design_buttons_nullsafety

Then I would navigate into the newly created project directory and modify the pubspec.yaml file to add the required dependencies for the Material Design buttons:

    sdk: flutter
  cupertino_icons: ^1.0.3
  material_design_icons_flutter: ^5.0.0

After adding the dependencies, I would create a new Dart file in the lib directory of the plugin project to define the custom Material Design button widget. Here is an example implementation:

import 'package:flutter/material.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';

class MaterialDesignButton extends StatelessWidget {
  final String text;
  final VoidCallback onPressed;

  const MaterialDesignButton({Key? key, required this.text, required this.onPressed}) : super(key: key);

  Widget build(BuildContext context) {
    return ElevatedButton(
      onPressed: onPressed,
      child: Row(
        children: [
          SizedBox(width: 10),
            style: TextStyle(fontSize: 16),

This custom button widget uses the ElevatedButton widget from the material package, and adds an icon from the material_design_icons_flutter package to the left of the button text.

Finally, I would export this widget from the plugin’s main library file (lib/material_design_buttons_nullsafety.dart) so that it can be imported and used by other Flutter projects:

library material_design_buttons_nullsafety;

export 'src/material_design_button.dart';

Once this is done, the plugin can be published to for others to use.

Further detail: Offical Page docs.