Skip to content

EhsanMsz/MszProgressIndicator

Repository files navigation

MSZ Progress Indicator

maven-central-badge license-badge issues-badge compose-badge code-factor-badge publish-badge

A collection of progress indicators for Android Jetpack Compose, inspired by loaders.css.

document

Demo

Download

Gradle:

dependencies {
    implementation("com.ehsanmsz:msz-progress-indicator:0.8.0")
}

Maven:

<dependency>
  <groupId>com.ehsanmsz</groupId>
  <artifactId>msz-progress-indicator</artifactId>
  <version>0.8.0</version>
  <type>aar</type>
</dependency>

Progress Indicators

Progress Indicators
BallPulse BallGridPulse BallClipRotate BallClipRotatePulse
SquareSpin BallClipRotateMultiple BallPulseRise BallRotate
CubeTransition BallZigZag BallZigZagDeflect BallTrianglePath
BallScale LineScale LineScaleParty BallScaleMultiple
BallPulseSync BallBeat LineScalePulseOut LineScalePulseOutRapid
BallScaleRipple BallScaleRippleMultiple BallSpinFadeLoader LineSpinFadeLoader
TriangleSkewSpin Pacman BallGridBeat SemiCircleSpin

Customization

Progress indicators can be used with default parameters value:

@Composable
fun ProgressIndicator() {
    LineSpinFadeLoader()
}

parameters such as animationDuration and color are common, but each progress indicator has its own parameters.

for example:

BallScaleRippleMultipleProgressIndicator(
    modifier = Modifier,
    color = Color.White,
    animationDuration = 800,
    animationDelay = 200,
    startDelay = 0,
    diameter = 40.dp,
    strokeWidth = 1.5.dp,
    ballCount = 4
)

each progress indicator can be easily customized by changing parameters value.

BallPulse LineScale BallSpinFadeLoader
ball-pulse line-scale ball-spin-fade-loader

License

Copyright 2021 Ehsan Msz

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.