MCPcopy Index your code
hub / github.com/adrian110288/LoadIndicators

github.com/adrian110288/LoadIndicators @1.1.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.1.1 ↗ · + Follow
54 symbols 110 edges 13 files 6 documented · 11% updated 7y ago1.1.1 · 2019-04-19★ 742 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

LoadIndicators

Overview

Neat 2D and 3D load indicators/spinners to use in your app. The library converts pre made spritesheets to an AnimationDrawable to returns a Loader object than extends from ImageView. A very simple idea that can liven up your app.

Have a look at my example app to see them in action:

Foo

Android Arsenal

Foo Foo

Usage

In order to use the library you can add the Loader widget to your layout xml file like that:

<com.loadindicators.adrianlesniak.library.LoaderView
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/imageLoader"
    app:loaderType="pacman"
    app:loaderFrameDelay="40"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"/>

There are two custom attributes loaderType and loaderFrameDelay. loaderFrameDelay basically (as the name suggests :) delays each frame letting you control the speed of the animation. The default value is 50 which in my opinion gives the best effect. This attribute is optional.

loaderType allows yout to specify what animation you would like to display. Ate the moment all available are animations are:

flip flop
intersect
map marker
mini balls
pacman
pulse
radar
ring race
running snake
searching
skype
snake
spin fade
spinning gear
time machine
windows 8

Another way to embed the Laoder view is through code. Simple instantiate a LaoderView object like this:

LoaderView loader = new LoaderView(Context, LaoderType);

The latter parameter is an enum type with all available loaders.

or like this:

LaoderView loader = new LoaderView(Context);

and call a

setLoader(LoaderType)

or

setLaoderWithDelay(LoaderType, int)

and optionally

setDelay(int)

I hope you will find the library useful for yourself. I am looking forward to getting feedback from you and if anyone want to participate in developing the library further, do not hesitate to contact me.

Do not forget to check you my example app on Play Store :)

My future tasks will be to: * upload the library to Maven * app different colors of the loaders

P.S. The example app uses to Google Analytics which track "I Like buttons clicks" in order for me to track app engagament and favourite loaders so I can plan for future additions of new loaders.

Big thanks for http://preloaders.net/ for providing spritesheets for the loaders and for Android Arsenal to help me advertise this library.

Extension points exported contracts — how you extend this code

Slicer (Interface)
(no doc) [2 implementers]
library/src/main/java/com/loadindicators/adrianlesniak/library/Slicer.java

Core symbols most depended-on inside this repo

createAnimation
called by 5
library/src/main/java/com/loadindicators/adrianlesniak/library/LoaderIndicator.java
startAnimate
called by 2
library/src/main/java/com/loadindicators/adrianlesniak/library/LoaderIndicator.java
init
called by 2
app/src/main/java/com/loadindicators/adrianlesniak/loadindicators/CustomPagerTabStrip.java
getFrameCount
called by 2
app/src/main/java/com/loadindicators/adrianlesniak/loadindicators/LoaderModel.java
setLoaderSource
called by 1
library/src/main/java/com/loadindicators/adrianlesniak/library/LoaderIndicator.java
setAnimation
called by 1
library/src/main/java/com/loadindicators/adrianlesniak/library/LoaderIndicator.java
getSpriteAnimation
called by 1
library/src/main/java/com/loadindicators/adrianlesniak/library/LoaderIndicator.java
getBitmapFromDrawable
called by 1
library/src/main/java/com/loadindicators/adrianlesniak/library/AnimatedLoaderDrawable.java

Shape

Method 41
Class 12
Interface 1

Languages

Java100%

Modules by API surface

library/src/main/java/com/loadindicators/adrianlesniak/library/LoaderIndicator.java11 symbols
app/src/main/java/com/loadindicators/adrianlesniak/loadindicators/LoaderModel.java9 symbols
app/src/main/java/com/loadindicators/adrianlesniak/loadindicators/ScreenSlidePagerAdapter.java5 symbols
app/src/main/java/com/loadindicators/adrianlesniak/loadindicators/PagerFragment.java5 symbols
library/src/main/java/com/loadindicators/adrianlesniak/library/AnimatedLoaderDrawable.java4 symbols
app/src/main/java/com/loadindicators/adrianlesniak/loadindicators/CustomPagerTabStrip.java4 symbols
library/src/main/java/com/loadindicators/adrianlesniak/library/SpriteSlicer.java3 symbols
app/src/main/java/com/loadindicators/adrianlesniak/loadindicators/MainActivity.java3 symbols
library/src/main/java/com/loadindicators/adrianlesniak/library/Slicer.java2 symbols
library/src/androidTest/java/com/loadindicators/adrianlesniak/library/ApplicationTest.java2 symbols
app/src/main/java/com/loadindicators/adrianlesniak/loadindicators/TypefaceCache.java2 symbols
app/src/main/java/com/loadindicators/adrianlesniak/loadindicators/DepthPageTransformer.java2 symbols

For agents

$ claude mcp add LoadIndicators \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact