Learn Pain Less

HomeOur TeamContact
How to Style DropdownButton in Flutter
Pawneshwer Gupta
Pawneshwer Gupta
March 03, 2023
2 min

Table Of Contents

Basic DropdownButton Styling
Custom DropdownButton Styling
Using Custom DropdownButton Styles
Customizing the DropdownButton Icon
How to set Gradient Background color on DropdownButton
Full Example
How to Style DropdownButton in Flutter

Are You a Flutter Developer? Chances are that at some point during development you have come across the DropdownButton widget. In this article we’ll look into its design guidelines for Flutter and how best to style this powerful component of Flutter apps - commonly found in forms or other scenarios where users must select from a list. However, its default styling may not always meet your application requirements so here we show how you can change its look more appealingly to match with its design requirements and match your app design requirements.

Basic DropdownButton Styling

Start by altering the colors and backgrounds of the DropdownButton widget by setting its color and background properties. For example, to set text colors to white while background hues remain blue use this code:

In this code, we set the style property to TextStyle(color: Colors.white), setting the color of text to white. Additionally, we use Colors.blue for the dropdownColor property - making its background blue in DropdownButton controls.

Custom DropdownButton Styling

For additional customization of the DropdownButton widget, use its dropdownButtonBuilder property. This function accepts two arguments; BuildContext and DropdownButtonFormFieldState; it then returns a widget which you can use to build custom DropdownButtons widgets.

This code uses the dropdownButtonBuilder property to construct a customized DropdownButton widget. We place it inside a Container widget to set its background color and border radius, add padding, set mainAxisAlignment of Row widget to MainAxisAlignment.spaceBetween in order to position text and icon correctly and set TextStyle(color: Colors.black). Finally, to increase readability we set TextStyle(color: Colors.black).

Using Custom DropdownButton Styles

Flutter allows developers to easily customize the appearance of a DropdownButton widget by providing a DropdownButtonStyle property. We can use this property to alter its look, its menu items and their look as well as text, background, border properties.

Let’s begin by creating a custom DropdownButtonStyle object and setting its style property within its constructor to set this style. Here is an example:

In this example, we created a custom DropdownButtonStyle object with blue text color and underline. Additionally, we implemented an onChanged callback function which updates _selectedItem variable when user selects new item from dropdown menu.

Customizing the DropdownButton Icon

By default, the DropdownButton widget displays a downward-pointing arrow icon on its right side. We can change this by providing a dropdownIcon property to its constructor; here is an example:

This example shows how we created a custom property with a blue downward-pointing arrow icon from Flutter’s Material Icons library. Other icons could also be chosen.

How to set Gradient Background color on DropdownButton

Flutter offers two widgets and properties that enable you to set a gradient background color on DropdownButtons: BoxDecoration and gradient property.

Here is an example code snippet:

In this example, we set the gradient property of BoxDecoration to a LinearGradient that begins as blue at its top end and transitions down through purple towards its base end. It also contains begin and end properties to specify its starting and ending points respectively.

Customize gradient colors and directions as per your specifications.

Full Example

Here’s an example of creating a DropdownButton with gradient background colors using Flutter:

In this example, we have created a Gradient Background using BoxDecoration and LinearGradient widgets. By setting the colors property of LinearGradient to [Colors.blue, Colors.purple], a gradient that runs from blue to purple was created. Furthermore, begin and end properties were also set for specifying gradient directionality.

Next, we have created a DropdownButton widget and configured its icon, iconSize, underline, style, value items and onChanged properties. In particular, we set TextStyle style property with white color in order to match gradient background gradient.

Finally, we have enclosed our DropdownButton in a container with gradient background colors to achieve the effect of having an interactive DropdownButton with gradient background color gradient.

Learn Flutter in 90 days with Pawneshwer!

Dart Beginners Course in Hindi free of cost for limited period.

Start Learning







Subscribe to our newsletter!

We'll send you the best of our blog just once a month. We promise.




Pawneshwer Gupta

Pawneshwer Gupta

Software Developer

Pawneshwer Gupta works as a software engineer who is enthusiastic in creating efficient and innovative software solutions.



Social Media

Related Posts

How to Refresh Specific Widget with setState using StatefulBuilder() in Flutter
How to Refresh Specific Widget with setState using StatefulBuilder() in Flutter
April 20, 2023
1 min
Learn Pain Less  © 2024, All Rights Reserved.
Crafted with by Prolong Services

Quick Links

Advertise with usAbout UsContact Us

Social Media