Flutter: How to Add a Border to a ListTile

Updated: August 8, 2022 By: Guest Contributor Post a comment

In order to add a border to a ListTile widget in Flutter, you can assign its shape property to RoundedRectangleBorder, BeveledRectangleBorder, or StadiumBorder. You have control over the thickness, color, and radius of the border. Let’s see the example below for more clarity.

Screenshot:

The code:

Scaffold(
      appBar: AppBar(title: const Text('KindaCode.com')),
      body: Padding(
        padding: const EdgeInsets.symmetric(vertical: 30, horizontal: 20),
        // implement add ListView that contains multiple ListTiles
        child: ListView(
          children: [
            // using StadionBorder
            const ListTile(
              shape: StadiumBorder(
                side: BorderSide(color: Colors.blue, width: 1),
              ),
              iconColor: Colors.blue,
              leading: Icon(
                Icons.shop,
                size: 30,
              ),
              title: Text('Item One'),
              subtitle: Text('StadionBorder'),
              trailing: Icon(
                Icons.play_arrow,
                size: 30,
              ),
            ),
            const SizedBox(
              height: 30,
            ),

            // Using BeveledRectangleBorder
            const ListTile(
              shape: BeveledRectangleBorder(
                side: BorderSide(color: Colors.green, width: 1),
              ),
              iconColor: Colors.green,
              leading: Icon(
                Icons.run_circle,
                size: 30,
              ),
              title: Text('Item Two'),
              subtitle: Text('BeveledRectangleBorder'),
              trailing: Icon(
                Icons.play_arrow,
                size: 30,
              ),
            ),
            const SizedBox(
              height: 30,
            ),

            // Using RoundedRectangleBorder
            ListTile(
              shape: RoundedRectangleBorder(
                side: const BorderSide(color: Colors.orange, width: 4),
                borderRadius: BorderRadius.circular(15),
              ),
              iconColor: Colors.orange,
              leading: const Icon(
                Icons.light,
                size: 30,
              ),
              title: const Text('Item Two'),
              subtitle: const Text('RoundedRectangleBorder'),
              trailing: const Icon(
                Icons.play_arrow,
                size: 30,
              ),
            ),
          ],
        ),
      ),
);

That’s it. Further reading:

You can also tour around our Flutter topic page or Dart topic page for the most recent tutorials and examples.

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments

Related Articles