Search packages, repositories and app categories

Package detailsv0.1.1

dash_flags

A package for displaying flags of countries and languages with a set of widgets and enums

AndroidiOSWebmacOSWindowsLinux
30-day downloads
2.4K
Likes
72
Pub points
160

Install package

flutter pub add dash_flags

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

dash_flags is a Flutter package that provides a collection of widgets and enums for displaying country and language flags. It simplifies the integration of flag icons into applications by offering pre-defined, consistent flag representations across platforms. The package supports multiple platforms including Android, iOS, Web, macOS, Windows, and Linux, ensuring broad compatibility. Developers can easily select and display flags using intuitive enums, making it ideal for localization, user interface enhancements, or region-based features.

Use cases

  • Displaying country flags in user profiles
  • Implementing language selection interfaces
  • Enhancing localization UIs
  • Showing regional indicators in apps
  • Creating multilingual app interfaces

Key features

  • Pre-built flag widgets
  • Support for country and language flags
  • Platform-agnostic design
  • Intuitive enum-based flag selection
  • Lightweight and easy to integrate

Suitable for

  • Localization features
  • Multilingual applications
  • User profile customization
  • Region-based content filtering
  • UI/UX enhancement with visual cues

Considerations

  • Limited to predefined flag set
  • No custom flag support
  • Dependent on external flag assets
  • May require updates for new country/language codes
  • Not optimized for high-performance flag rendering at scale

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Dash Flags Banner

Dash Flags

Platform Pub Package License: BSD-3-Clause
GitHub code size in bytes Star on GitHub GitHub Open Issues GitHub Last Commit Date


💡 Overview

A Flutter package for displaying Countries and Languages flags 🌍

This package provides a set of widgets and enums to display flags of countries and languages inspired by blade-flags package for Laravel by Mohamed Ashraf from Egypt.

The package uses flags from TwEmoji Countries & Languages Flags by Twitter

Animated Example
This GIF is taken from the Example Project

💻 Usage

Import the package:

import 'package:dash_flags/dash_flags.dart';

Display a flag of a country:

CountryFlag(
  country: Country.eg, // OR Country.fromCode('eg')
  height: 50,
)

Display a flag of a language:

LanguageFlag(
  language: Language.ar, // OR Language.fromCode('ar')
  height: 50,
)

Display a flag of a timezone:

TimezoneFlag(
  timezone: Timezone.africa_cairo, // OR Timezone.fromString('Africa/Cairo')
  height: 50,
)

📘 You can checkout the complete API Reference here

📃 Notes

Countries & Languages Codes:
  • If you have the Country Code or Language Code as Strings, then you can use Country.fromCode(countryCode) or Language.fromCode(languageCode).
  • If the the Country Code or Language Code consists of more than one part, then you will find it separated by an underscore, for example: sh_ac and en_au.
  • If the the Country Code or Language Code is a reserved keyword in Dart, then you will find it prefixed with c_ or l_ respectively, for example: c_as and l_as.
  • If an unknown Country Code or Language Code used with .fromCode(String) method, an unknown flag would be displayed.
Timezones Codes:
  • The forward slash sign / in the name of the timezone is replaced with an underscore _.
  • If the Timezone contains minus - sign, then you will find it replaced with _minus_, for example: US_East_minus_Indiana, US_Indiana_minus_Starke, and Asia_Ust_minus_Nera
  • If the Timezone contains plus + sign, then you will find it replaced _plus_, for example: Etc_GMT_plus_0, Etc_GMT_plus_1, and Etc_GMT_plus_10
  • If the Timezone is associated with more than one country, then you will find a default enum member for it and other enum members for each country, for example: Africa_Johannesburg, Africa_Johannesburg_ZA, Africa_Johannesburg_LS, and Africa_Johannesburg_SZ
  • If you have the Timezone as String and you want to get the corresponding Timezone enum member, then you can use .fromString() method.
  • If you want to use the Timezone with its original name without the above changes, then use .fromString() method, for example: Timezone.fromString('Africa/Cairo')

✅ Roadmap

  • [ ] Add Tests 🧪
  • [ ] Add a simple way to use the raw svg assets 🎨
  • [ ] Make an online Gallery with all the available flags 📘
  • [ ] Add the ability to use the flags from the internet, such as, CountryFlag.network(...) 🌐
  • [ ] Add the ability to automatically detect the current Country or Language, such as, Country.autoDetect & Language.autoDetect 🕵🏻‍♂️

💖 Laravel Version

If you are looking for a Laravel Version of this package, check blade-flags, the original parent package of this library which that provides a set of flags for all countries and languages by Mohamed Ashraf from Egypt.

Blade Flags Banner

💪🏻 Contribution Guide

I would be happy to have your contributions 💙

If you find a bug or want a feature, but don't know how to fix/implement it, please fill an Issue.
If you fixed a bug or implemented a feature, please send a Pull Request.

Made with contrib.rocks.

Categories

Dependencies

Dependency list 1 items

Source repository

Projects using this package