All Projects → kwezal → kandy

kwezal / kandy

Licence: Apache-2.0 License
Sweet Android libraries written in Kotlin

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to kandy

Statik
A simple static list information backed by RecyclerView for Android in Kotlin
Stars: ✭ 22 (+15.79%)
Mutual labels:  recyclerview, recyclerview-adapter, recyclerview-multi-type
RecyclerELE
Android Library for easy addition of Empty, Loading and Error views in a RecyclerView
Stars: ✭ 27 (+42.11%)
Mutual labels:  recyclerview, recyclerview-adapter, recyclerview-multi-type
AccordionRecycler
Android RecyclerView Adapter with nested items & expand/contract functionality
Stars: ✭ 17 (-10.53%)
Mutual labels:  recyclerview, recyclerview-adapter, recyclerview-multi-type
Brv
Android上最强大的RecyclerView库
Stars: ✭ 345 (+1715.79%)
Mutual labels:  listview, recyclerview, recyclerview-adapter
LxAdapter
RecyclerView Adapter Library
Stars: ✭ 50 (+163.16%)
Mutual labels:  recyclerview, recyclerview-adapter, recyclerview-multi-type
Admobadapter
It wraps your Adapter to display Admob native ads and banners in a ListView/RecyclerView data set. It based on the Yahoo fetchr project https://github.com/yahoo/fetchr
Stars: ✭ 224 (+1078.95%)
Mutual labels:  listview, recyclerview, recyclerview-adapter
SortedListAdapter
The RecyclerView.Adapter that makes your life easy!
Stars: ✭ 48 (+152.63%)
Mutual labels:  recyclerview, recyclerview-adapter
App-Manager-Android
An app manager for Android written in Kotlin. View app related info, launch or uninstall apps.
Stars: ✭ 31 (+63.16%)
Mutual labels:  recyclerview, recyclerview-adapter
InfiniteScroll
You can do a Endless scroll in ListView or RecyclerView with simple steps, with a listener for do request to your web service.
Stars: ✭ 28 (+47.37%)
Mutual labels:  listview, recyclerview
RvClickListenerExample
Example showing the implementation of onItemClickListener & getAdapterPosition() in RecyclerView.
Stars: ✭ 22 (+15.79%)
Mutual labels:  recyclerview, recyclerview-adapter
recyclerview-kotlin
10+ Tutorials on RecyclerView in Kotlin
Stars: ✭ 41 (+115.79%)
Mutual labels:  recyclerview, recyclerview-adapter
InfiniteScrollRecyclerView
Enables the RecyclerView to Auto scroll for indefinite time.
Stars: ✭ 49 (+157.89%)
Mutual labels:  recyclerview, recyclerview-adapter
recycler-adapter
RecyclerView-driven declarative UIs
Stars: ✭ 124 (+552.63%)
Mutual labels:  listview, recyclerview
GenericRecyclerAdapter
Easiest way to use RecyclerView. Reduce boilerplate code! You don't need to write adapters for listing pages anymore!
Stars: ✭ 53 (+178.95%)
Mutual labels:  listview, recyclerview
RecyclerView
支持下拉刷新,上拉加载,Header,Footer,复杂多种数据结构类型
Stars: ✭ 318 (+1573.68%)
Mutual labels:  recyclerview-adapter, recyclerview-multi-type
TwerkyListView
A beautifully animated recycler-list-view, that twerks the way African earthworms do in order to move
Stars: ✭ 19 (+0%)
Mutual labels:  listview, recyclerview
GenericAdapter
⛳️ Easy to use android databinding ready recyclerview adapter
Stars: ✭ 26 (+36.84%)
Mutual labels:  listview, recyclerview
DiverseRecyclerAdapter
A small and yet powerful library, which greatly simplifies building lists of different items
Stars: ✭ 16 (-15.79%)
Mutual labels:  recyclerview, recyclerview-adapter
jubako
A small API to help display rich content in a RecyclerView such as a wall of carousels
Stars: ✭ 28 (+47.37%)
Mutual labels:  recyclerview, recyclerview-adapter
CommonRecycler
极度封装RecyclerView里的adapter,holder,让其支持各种点击事件,使用方便
Stars: ✭ 19 (+0%)
Mutual labels:  recyclerview, recyclerview-multi-type

API 16 Download Apache License 2.0

Kandy

A Kotlin library set dedicated to Android platform which will make programming sweet again!

Repository

All modules are available on the jcenter. In order to import them, make sure your project includes the appropriate repository.

Project build.gradle.kts

repositories {
    // ...
    jcenter()
}

Kandy List Views

Highly flexible list view which will help you to write much less code and spend much less time for such basic thing as list view. Forget about writing copy-pasting another RecyclerView.Adapter. Let Kandy List Views set everything up for you. Basically, all you need to do is write a custom view holder for each model you want to see as a list item.

Flexibility

You can use any number of any types of list items within a single adapter. KandyListAdapter will take care of defining and managing view types.

Convenience

onBind method of a view holder provide you a type-safe getter of a list item. No need to keep an eye on a collection of data you've passed to the list view adapter. Let this method retrieve the appropriate object for you (including the inside of event listeners.)

Minimal working example

Custom view holder definition

class StringViewHolder(itemView: View) : AbstractDefaultKandyViewHolder<String>(itemView) {
    private val textView = itemView as TextView
    override fun onBind(position: Int, adapter: KandyListAdapter, listItemGetter: () -> KandyListItem<String>) {
        textView.text = listItemGetter().item
    }
}

Adapter initialization

val adapter = KandyListAdapter(
    KandyListItem(
        "String item",
        KandyItemView { TextView(this) }
    ) { itemView -> StringViewHolder(itemView) }
)

Full example

For full example, please refer to this file.

Import

Module build.gradle.kts

dependencies {
    // ...
    implementation("com.kwezal.kandy:listviews:${Version.kandy}@aar")
            { isTransitive = true } // Includes RecyclerView dependency
}

Kandy Dialogs

Simple DSL-like wrapper for AlertDialogs. Not only it makes the code shorter and prettier, but also more convenient to use.

The simplest example

show { dialog("Message", "Title") { positiveButton("OK") } }

Full example

For full example, please refer to this file.

Import

Module build.gradle.kts

dependencies {
    // ...
    implementation("com.kwezal.kandy:dialogs:${Version.kandy}@aar")
}

Kandy Logs

Android logs made so super simple you'll KISS them. No installation required. Automatic tag generation. Featherweight. No runtime overhead on production.

The simplest example

logD { "Message" }

Full example

For full example, please refer to this file.

Import

Module build.gradle.kts

debugImplementation("com.kwezal.kandy:logs-debug:${Version.kandy}@aar")
releaseImplementation("com.kwezal.kandy:logs-release:${Version.kandy}@aar")

The rest

Other modules of this set of libraries will be published soon. As for now I'd appreciate any kind of feedback or contribution.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].