Skip to content

maltaisn/icondialoglib

Repository files navigation

Icon picker dialog

A fully customizable icon picker dialog that provides easy access to quality icons without having to include them individually in your project. Icons are bundled in icon packs, which are distributed as separate artifacts. Icon packs are defined by XML, each icon consisting of an ID, a SVG path, a viewport size, a category and a list of tags for searching.

Demo 1 Demo 2

Gradle dependency

implementation 'com.maltaisn:icondialog:X.Y.Z'

Replace X.Y.Z with lastest version number: Download

The mavenCentral() repository is required.

Notes

  • Version 2.1.0 and above use AndroidX libraries.
  • Version 3.0.0 and above are written in Kotlin.
  • Min SDK version is 14.

Icon packs

The following icon packs are available as of lastest version.

Name Dependency1 Version Icons Size2 Languages
Default default Lastest version 1,045 304 kB 6 languages
Font Awesome font-awesome Lastest version 996 225 kB English
Community Material community-material Lastest version 3,941 555 kB English

Note that the process to update some icon packs (MDI, Font Awesome) is automated and icons might be deleted either on purpose or by mistake. Make sure to always handle null icon values when obtaining an icon by ID!

1 Dependency uses the following pattern com.maltaisn:iconpack-<NAME>:X.Y.Z, where <NAME> is the name indicated in the table and X.Y.Z is the version. Icon packs use the same version as original icons.

2 As seen in Android Studio's APK analysis, includes icons and tags.

More packs can be added on request. Custom packs and third-party icon packs can easily be created as well.

Usage

Translation

Some icon packs are not meant to be translated. These icon packs are auto-generated from files provided by the people who manage the original icon collection. Tags don't make any sense in a language other than in English, and thus cannot be translated. The scripts used for auto-generation are available in the utils module.

The default pack tags can be translated. With over 1,000 labels it takes between 3 and 5 hours to translate (in my experience). A collection of images with the icons for each label can be downloaded here to help with translation.

Changelog

View changelog for the library release notes. Each icon pack module also have their own changelog.

Licenses

  • Library core is licensed under Apache License 2.0
  • For icons, see LICENSE file in each icon pack module.

Credits