Convert Figma logo to code with AI

jamesnguyenhub logomkloader

Beautiful and smooth custom loading views

1,384
166
1,384
13

Top Related Projects

Android loading animations

DEPRECATED

An Android Animation library which easily add itemanimator to RecyclerView items.

Some beautiful android loading drawable, can be combined with any view as the LoadingView or the ProgressBar. Besides, some Drawable can customize the loading progress too.

高仿新版58 加载动画

Quick Overview

MKLoader is an Android library that provides a collection of custom loading animations. It offers a variety of visually appealing and customizable loading indicators that can be easily integrated into Android applications to enhance the user experience during data loading or processing tasks.

Pros

  • Wide range of pre-built loading animations
  • Easy integration into Android projects
  • Customizable colors and sizes
  • Lightweight and efficient

Cons

  • Limited to Android platform
  • May require additional customization for complex use cases
  • Documentation could be more comprehensive
  • Not actively maintained (last update was in 2017)

Code Examples

  1. Basic usage of MKLoader:
// In your XML layout file
<com.tuyenmonkey.mkloader.MKLoader
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:mk_type="FishSpinner"/>
  1. Customizing the loader color:
val loader = findViewById<MKLoader>(R.id.mkLoader)
loader.setColorFilter(ContextCompat.getColor(this, R.color.custom_color))
  1. Programmatically changing the loader type:
val loader = findViewById<MKLoader>(R.id.mkLoader)
loader.setLoaderType(LoaderType.CLASSICCASCADE)

Getting Started

To use MKLoader in your Android project, follow these steps:

  1. Add the JitPack repository to your project's build.gradle file:
allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}
  1. Add the dependency to your app's build.gradle file:
dependencies {
    implementation 'com.github.nntuyen:mk-loader:v1.5.0'
}
  1. Use the MKLoader in your XML layout or create it programmatically in your Activity or Fragment.

Competitor Comparisons

Android loading animations

Pros of Android-SpinKit

  • More extensive collection of loading animations (30+ styles)
  • Better documentation and usage examples
  • Higher number of stars and forks on GitHub, indicating wider adoption

Cons of Android-SpinKit

  • Larger library size due to more animations
  • Less frequent updates and maintenance

Code Comparison

mkloader:

val loader = MKLoader(context)
loader.setLoaderStyle(MKLoader.STYLE_CIRCLE_ROTATE)
layout.addView(loader)

Android-SpinKit:

val progressBar = ProgressBar(context)
val doubleBounce = DoubleBounce()
progressBar.indeterminateDrawable = doubleBounce
layout.addView(progressBar)

Both libraries offer easy-to-use APIs for implementing loading animations in Android applications. mkloader provides a more concise approach with a single class, while Android-SpinKit uses separate classes for different animation styles, offering more flexibility but requiring slightly more code.

While Android-SpinKit offers a wider variety of animations, mkloader focuses on a smaller set of carefully crafted loaders. The choice between the two depends on the specific project requirements, with Android-SpinKit being more suitable for projects needing diverse animation options, and mkloader being a lightweight alternative for simpler use cases.

DEPRECATED

Pros of AVLoadingIndicatorView

  • Offers a wider variety of loading indicator styles (26 different types)
  • Provides more customization options for colors and sizes
  • Has a larger community and more frequent updates

Cons of AVLoadingIndicatorView

  • Larger library size, which may impact app performance
  • More complex implementation due to additional features
  • Requires more setup and configuration for basic usage

Code Comparison

AVLoadingIndicatorView:

AVLoadingIndicatorView avi = findViewById(R.id.avi);
avi.setIndicator("BallPulseIndicator");
avi.show();

mkloader:

MKLoader mkLoader = findViewById(R.id.mk_loader);
mkLoader.setVisibility(View.VISIBLE);

AVLoadingIndicatorView offers more customization but requires more code for setup, while mkloader provides a simpler implementation for basic loading indicators. AVLoadingIndicatorView is better suited for projects requiring diverse loading animations, whereas mkloader is ideal for simpler, lightweight implementations.

An Android Animation library which easily add itemanimator to RecyclerView items.

Pros of recyclerview-animators

  • More comprehensive animation options for RecyclerView items
  • Supports a wider range of Android versions
  • Actively maintained with regular updates and bug fixes

Cons of recyclerview-animators

  • Focused solely on RecyclerView animations, less versatile for general loading indicators
  • May require more setup and configuration for basic use cases
  • Potentially higher performance overhead for complex animations

Code Comparison

mkloader:

val loader = findViewById<MKLoader>(R.id.mkloader)
loader.setColorScheme(Color.RED, Color.GREEN, Color.BLUE)
loader.startAnimation()

recyclerview-animators:

val animator = SlideInLeftAnimator()
recyclerView.itemAnimator = animator
animator.addDuration = 1000
animator.removeDuration = 500

Summary

recyclerview-animators offers more advanced animation capabilities for RecyclerView items, while mkloader provides simpler, more general-purpose loading animations. recyclerview-animators is better suited for projects requiring extensive RecyclerView customization, whereas mkloader is ideal for quick implementation of loading indicators across various UI elements.

Some beautiful android loading drawable, can be combined with any view as the LoadingView or the ProgressBar. Besides, some Drawable can customize the loading progress too.

Pros of LoadingDrawable

  • More diverse set of loading animations, including circular progress, gear rotation, and water wave effects
  • Highly customizable with various attributes for colors, sizes, and animation speeds
  • Supports both determinate and indeterminate progress indicators

Cons of LoadingDrawable

  • Larger codebase and potentially higher complexity for implementation
  • May have a steeper learning curve for customization due to more options
  • Less focused on minimalist designs compared to mkloader

Code Comparison

mkloader:

val loader = MKLoader(context)
loader.setColorSchemeColors(Color.RED, Color.GREEN, Color.BLUE)
loader.setSize(100)

LoadingDrawable:

CircularProgressDrawable drawable = new CircularProgressDrawable.Builder(context)
    .setRingWidth(5)
    .setRingColor(Color.RED)
    .setRotationSpeed(1f)
    .build();
imageView.setImageDrawable(drawable);

Both libraries offer easy-to-use APIs for implementing loading animations, but LoadingDrawable provides more granular control over the appearance and behavior of the loading indicators. mkloader focuses on simplicity and ease of use, while LoadingDrawable offers a wider range of customization options at the cost of increased complexity.

高仿新版58 加载动画

Pros of android-shapeLoadingView

  • Offers a variety of shape options (circle, rectangle, triangle) for loading animations
  • Includes a text display feature alongside the loading animation
  • Provides easy customization of colors and animation speed

Cons of android-shapeLoadingView

  • Less actively maintained (last update was several years ago)
  • Limited to specific shape-based animations
  • May require more setup and configuration compared to mkloader

Code Comparison

android-shapeLoadingView:

<com.mingle.widget.LoadingView
    android:id="@+id/loadView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

mkloader:

<com.tuyenmonkey.mkloader.MKLoader
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:mk_type="FishSpinner"/>

Both libraries offer simple XML implementation, but mkloader provides more diverse animation types through the mk_type attribute.

android-shapeLoadingView focuses on shape-based animations with text support, making it suitable for scenarios where specific shapes and accompanying text are desired. However, its less frequent updates may be a concern for long-term support.

mkloader offers a wider variety of loader animations, is more actively maintained, and provides a simpler implementation. It's a better choice for developers seeking diverse, ready-to-use loading animations without the need for extensive customization.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

mkloader

Build Status

Beautiful and smooth custom loading views

Usage

<com.tuyenmonkey.mkloader.MKLoader
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          app:mk_type="<loading_type>" (Optional. Default is ClassicSpinner)
          app:mk_color="<color>" (Optional. Default is #ffffff)
      />

Supported Types

  • Sharingan
  • TwinFishesSpinner
  • ClassicSpinner
  • LineSpinner
  • FishSpinner
  • PhoneWave
  • ThreePulse
  • FourPulse
  • FivePulse
  • Worm
  • Whirlpool
  • Radar

Download

Gradle

dependencies {
  compile 'com.tuyenmonkey:mkloader:1.4.0'
}

Snapshots of the development version are available in Sonatype's snapshots repository.

License

Copyright 2017 Tuyen Monkey

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.