Banner_Listtile comes in handy when you need a temple of tile with a built-in banner option. You may have seen a banner with a tag ex. "New," "Hot," "New Collection" etc. Banner_listtile does the exact thing, and also gives you the extra feature of customizing it easily.

Installation

i. Add the latest version of this package to your pubspec.yaml file, and run: 'dart pub get':

dependancies:
  banner_listtile: ^2.3.0

ii. Import the package in your Flutter App and use it.

import 'package:banner_listtile/banner_listtile.dart';

Changes

New 2.3.0 Changes

  • ✅ Position enum added. Instead of boolean now Position enum required as its value.
  • 🔀 Now Icons can be added on banner in place of text.
  • 🚫 RandomColor property removed from this package.
  • ✨ Fixed UI bleeding issue as now zigzagimage side looks smoother and sharp.

Note:

If you use it inside a Column, Listview or any kind of vertical list, then you do not need to give it a height property. But when you use it as a single widget or inside any other widget, then you are suggested to define its height by giving it a height property. If you don't, then it might end up taking all the available space.

Sample Code

class BannerListTileExample extends StatelessWidget {
  const BannerListTileExample({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: BannerListTile(
          backgroundColor: Colors.blue,
          borderRadius: BorderRadius.circular(8),
          bannerPosition: BannerPosition.topRight,
          imageContainer: Image(
              image: NetworkImage(
                  "https://images.unsplash.com/photo-1529626455594-4ff0802cfb7e?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb1.2.1&auto=format&fit=crop&w=387&q=80"),
              fit: BoxFit.cover),
          title: Text(
            "Lisa",
            style: TextStyle(fontSize: 24, color: Colors.white),
            overflow: TextOverflow.ellipsis,
            maxLines: 1,
          ),
          subtitle: Text("A model from NY",
              style: TextStyle(fontSize: 13, color: Colors.white)),
          trailing: IconButton(
              onPressed: () {},
              icon: Icon(
                Icons.delete_forever,
                color: Colors.red,
              )),
        ),
      ),
    );
  }
}

More example: (Add text or icon)

Sample Image

New zigzag shape

BannerListTile(
    imageContainerShapeZigzagIndex: index, // [index = (even or odd integer number)]
),

Examples

example screenshot

Upcoming

Things are added & also will be added more if needed in future. Contributions to this package is welcomed. For this go to github repository of this package and fork this repository.

If you have any suggestions or bug report then please consider mailing me at:

eaglex129@gmail[dot]com

Libraries