All Projects → adrielcafe → Krumbsview

adrielcafe / Krumbsview

Licence: mit
🍞 The ultimate breadcrumbs view for Android!

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Krumbsview

Smiley Rating
A custom android Rating view with Interactive Smiles 😄
Stars: ✭ 103 (-39.41%)
Mutual labels:  android-view, android-ui
andColorPicker
Color picker library for Android
Stars: ✭ 233 (+37.06%)
Mutual labels:  android-ui, android-view
Android library
android_library
Stars: ✭ 170 (+0%)
Mutual labels:  android-view, android-ui
Avatar View
Avatar ImageView with user's name first letter Drawable placeholder
Stars: ✭ 309 (+81.76%)
Mutual labels:  android-view, android-ui
Polygondrawingutil
A compact Android utility for constructing and drawing rounded regular polygons.
Stars: ✭ 805 (+373.53%)
Mutual labels:  android-view, android-ui
Proswipebutton
A swipe button for Android with a circular progress bar for async operations
Stars: ✭ 319 (+87.65%)
Mutual labels:  android-view, android-ui
SignatureView
【Android View】:好用的Android电子签名板,能保存所签名的图片
Stars: ✭ 89 (-47.65%)
Mutual labels:  android-ui, android-view
Xcdanmuview
Android弹幕效果View-支持左右两个方向
Stars: ✭ 28 (-83.53%)
Mutual labels:  android-view, android-ui
Anychart Android
AnyChart Android Chart is an amazing data visualization library for easily creating interactive charts in Android apps. It runs on API 19+ (Android 4.4) and features dozens of built-in chart types.
Stars: ✭ 1,762 (+936.47%)
Mutual labels:  android-view, android-ui
Materialdrawer
The flexible, easy to use, all in one drawer library for your Android project. Now brand new with material 2 design.
Stars: ✭ 11,498 (+6663.53%)
Mutual labels:  android-ui
Notzz App
📝 A Simple Note-Taking App built to demonstrate the use of Modern Android development tools - (Kotlin, Coroutines, State Flow, Hilt-Dependency Injection, Jetpack DataStore, Architecture Components, MVVM, Room, Material Design Components).
Stars: ✭ 158 (-7.06%)
Mutual labels:  android-ui
Welcome Android
A customizable welcome screen
Stars: ✭ 1,754 (+931.76%)
Mutual labels:  android-ui
Vue Breadcrumbs
Breadcrumbs for Vue.js
Stars: ✭ 148 (-12.94%)
Mutual labels:  breadcrumbs
Customrefreshview
一个支持网络错误重试,无数据页(可自定义),无网络界面(可自定义)的上拉加载更多,下拉刷新控件
Stars: ✭ 160 (-5.88%)
Mutual labels:  android-ui
Enviews
🌟A cool dynamic view library
Stars: ✭ 1,771 (+941.76%)
Mutual labels:  android-view
Springview
🔥 A custom view pull to refresh,support ScrollView,ListView,RecyclerView,WebView and all another views, easy to use
Stars: ✭ 1,936 (+1038.82%)
Mutual labels:  android-ui
Android Multi Theme Ui
Android multi theme UI implementation with day night mode. This repository cover theme changes at runtime, user can select theme from pre-defined multiple themes and changes reflect dynamically on the go.
Stars: ✭ 142 (-16.47%)
Mutual labels:  android-ui
Textwriter
Animate your texts like never before
Stars: ✭ 140 (-17.65%)
Mutual labels:  android-ui
Bugsnag Cocoa
Bugsnag crash reporting for iOS, macOS and tvOS apps
Stars: ✭ 167 (-1.76%)
Mutual labels:  breadcrumbs
Awesomedialog
A Beautiful Dialog Library for Kotlin Android
Stars: ✭ 163 (-4.12%)
Mutual labels:  android-ui

JitPack API License: MIT Android Arsenal

KrumbsView

The ultimate breadcrumbs view for Android!

Inspired by JotterPad's breadcrumbs.

Features:

  • [X] Custom typeface (from /assets and /res/font folders, also works with Downloadable Fonts)
  • [X] Customisable (text colors, text size, separator icon)
  • [X] Cool animations
  • [X] Swipe right to go back to the previous item
  • [X] Survive Activity recreations
  • [X] Extensible (open classes and protected members, extend it to get the job done!)

How to use

Import to your project

First, add it in your root build.gradle at the end of repositories:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

Next, add the dependency to your app modules:

dependencies {
    ...
    implementation 'com.github.adrielcafe:krumbsview:$latestVersion'
}

Current version:

JitPack

XML

<cafe.adriel.krumbsview.KrumbsView
    ...
    app:krumbsStartItem="[string]"
    app:krumbsPaddingStartItem="[dimension]"
    app:krumbsPreviousItemCharacters="[integer]"
    app:krumbsTypeface="[string|font]"
    app:krumbsTextSize="[dimension]"
    app:krumbsBoldText="[true|false]"
    app:krumbsCurrentItemTextColor="[color]"
    app:krumbsPreviousItemTextColor="[color]"
    app:krumbsSeparatorTintColor="[color]"
    app:krumbsSeparatorIcon="[drawable]"
    app:krumbsAnimationType="[slideLeftRight|fadeInOut|growShrink]"
    app:krumbsAnimationDuration="[shortDuration|longDuration]"/>

Example:

<cafe.adriel.krumbsview.KrumbsView
    android:id="@+id/krumbsView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/colorPrimary"
    app:krumbsStartItem="Home"
    app:krumbsTypeface="@font/quicksand"
    app:krumbsTextSize="24sp"
    app:krumbsCurrentItemTextColor="@color/colorAccent"
    app:krumbsPreviousItemTextColor="@color/colorPrimaryDark"
    app:krumbsSeparatorTintColor="@color/colorPrimaryDark"
    app:krumbsSeparatorIcon="@drawable/ic_play_arrow"
    app:krumbsAnimationType="growShrink"
    app:krumbsAnimationDuration="longDuration"/>

Kotlin/Java

with(krumbsView){
    size
    getItems()
    getCurrentItem()
    addItem(Krumb("Lorem Ipsum"))
    removeLastItem()
    removeAllItems()
    goToFirstItem()
    setOnPreviousItemClickListener { /* ... */ } // Swipe right also triggers this listener
    
    // All XML options are available
    setTypeface("fonts/quicksand.ttf") // From /assets folder
    setTypeface(R.font.quicksand) // From /res/font folder
    setTypeface(MyCustomTypeface)
    setTextSizeSp(20f)
    setTextSizePx(40f)
    setBoldText(true)
    setPaddingStartItem(10f)
    setPreviousItemCharacters(2)
    setCurrentItemTextColor(Color.WHITE)
    setPreviousItemTextColor(color(R.color.transparent_white))
    setSeparatorTintColor(color(R.color.transparent_white))
    setSeparatorIcon(R.drawable.ic_keyboard_arrow_right)
    setAnimationType(KrumbsAnimationType.GROW_SHRINK)
    setAnimationDuration(KrumbsAnimationDuration.SHORT)
}

You can also use your custom Krumb implementation:

data class MyKrumb(val id: Int, 
                   val folderName: String, 
                   val createdAt: Date) : Krumb(folderName)

with(krumbsView){
    addItem(MyKrumb(123, "Folder XYZ", now))

    val myKrumb = getCurrentItem() as MyKrumb
}
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].