An extensive collection of Kotlin Android Utils
This library contains small helper functions used throughout almost all of my other projects. The goal is to make common interactions executable in a single line.
KAU is available on JitPack
To apply, add the following to your root build.gradle:
allprojects {
repositories {
...
mavenCentral()
maven { url "https://jitpack.io" }
google()
}
}
And add the following dependencies (You can use a specific version, commit, or -SNAPSHOT):
Note that only core
is required if you want the basic features.
Note that if you use any particular submodule, it will automatically include all of its necessary dependencies.
dependencies {
// all submodules extend this
implementation "ca.allanwang.kau:core:$KAU"
// all submodules with extensive ui extend this
implementation "ca.allanwang.kau:core-ui:$KAU"
implementation "ca.allanwang.kau:about:$KAU"
implementation "ca.allanwang.kau:adapter:$KAU"
implementation "ca.allanwang.kau:colorpicker:$KAU"
implementation "ca.allanwang.kau:fastadapter:$KAU"
implementation "ca.allanwang.kau:kpref-activity:$KAU"
implementation "ca.allanwang.kau:mediapicker:$KAU"
implementation "ca.allanwang.kau:searchview:$KAU"
}
Submodules
Linked to their respective docs.
Included dependencies are only those with exposed APIs; see new dependency configurations.
Implemented external dependencies are wrapped in parentheses. All KAU submodule dependencies are implemented, with the exception ofcore
incore-ui
. This means that you'll need to explicitly include each submodule you'd like to use, even if another declared submodule depends on it.
Core
- Collection of extension functions and small helper methods applicable in almost any application.
- Notable features:
- Includes
AndroidX Components
,Material Dialogs (core)
,Iconics
,Kotlin stdlib
Core UI
- Collection of complex views and widgets
- Includes
:core
About
- Modularized overlaying about section. Comes with a main panel, automatic lib detection, and a FAQ parser; also includes the lib strings for KAU.
- Includes
:core-ui
,:fastadapter
,About Libraries
Adapter
- RecyclerView animations
- Includes
:core
Color Picker
- Implementation of a color picker dialog with subtle transitions and a decoupled callback
- Includes
:core
FastAdapter
- Kotlin bindings for the fast adapter
- Includes
:core
,:adapter
,Fast Adapter
KPref Activity
- Fully programmatic implementation of a Preference Activity, backed by a RecyclerView
- Includes
:core
,:fastadapter
,:colorpicker
Media Picker
- Fully functional image and video pickers, both as an overlay and as a requested activity.
- Includes
:core-ui
,Glide
, (Blurry
)
SearchView
- Material searchview with kotlin bindings
- Includes
:core-ui
,:fastadapter
Gradle Plugin
- Gradle plugin to help facilitate versioning and other gradle functions
Showcase
Proguard/MultiDex
Given that the core module contains a lot of extension functions, you may run into a dex error (over 64k methods)
To resolve that, add multiDexEnabled true
under your app.gradle > android > defaultConfig
Likewise, it is highly recommended to use proguard to clean up your project upon release. All KAU components support proguard out of the box. Some may have extra requirements for certain features, which will be detailed in their respective README.
Translations
KAU depends on translations crowdsourced by the general public. If you would like to contribute, please visit here
Special thanks to the following awesome people for translating significant portions of KAU!
Language | Contributors |
---|---|
Arabic | Mohammed Qubati |
Catalan | Jaime Muñoz Martín |
Chinese (Simplified) | Alcatelia |
Chinese (Traditional) | yipinghuang • Su, Jun-Ming • Wei |
Czech | Lukas Novotny |
Danish | mhtorp |
Dutch | ItGuillaume • Tatum ter Kuile |
Finnish | Rynach |
French | Vincent Kulak • Jean-Philippe Gravel |
Galician | Xesús M. Mosquera |
German | Bushido1992 • Marcel Soehnchen • 3LD0mi HA |
Greek | George Kitsopoulos |
Hungarian | János Erkli |
Indonesian | M. Angga Ariska |
Italian | Bonnee • Keita Tanaka |
Japanese | maru2213 |
Korean | 잇스테이크 |
Malayalam | Abhishek M |
Norwegian | |
Polish | pantinPL |
Portuguese | Sérgio Marques • Miguel Dos Reis |
Portuguese (Brazilian) | TheusKhan |
Russian | Вадим Жушман |
Serbian | Nikola Radmanović |
Spanish | Jahir Fiquitiva • Nefi Salazar |
Swedish | Artswitcher |
Tagalog | Fray Damaso |
Tamil | rooban23 |
Thai | Thanawat Hanthong |
Turkish | zuma17 |
Ukrainian | Вадим Жушман |
Vietnamese | Alienz |
The full activity stream for the translations can be found here