Skip to content

Memory efficient shimmering effect for Android applications by Supercharge.

License

Notifications You must be signed in to change notification settings

xiebinJava/ShimmerLayout

 
 

Repository files navigation

Android Arsenal Maven Central Android Weekly API Build Status

ShimmerLayout

ShimmerLayout can be used to add shimmer effect (like the one used at Facebook or at LinkedIn) to your Android application. Beside memory efficiency even animating a big layout, you can customize the behaviour and look of the animation. Check out the wiki for attributes!

Performance

When it comes to performance, ShimmerLayout is the best option available. Not only can you achieve high frame rate even in RecyclerViews, but it also animates views with insignificant memory footprint.

I conducted a benchmark to compare memory usages between different shimmer implementations. The test device I used is a HTC M8 phone. For the animations the sample application was used.

Library used Android Profiler result
Facebook shimmer library 0.1.0 ShimmerLayout
ShimmerLayout 1.2.0 ShimmerLayout
ShimmerLayout 2.0.0 ShimmerLayout

Download and usage

Get the latest artifact via gradle

implementation 'io.supercharge:shimmerlayout:2.1.0'

Create the layout on which you want to apply the effect and add as a child of a ShimmerLayout

<io.supercharge.shimmerlayout.ShimmerLayout
        android:id="@+id/shimmer_text"
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="50dp"
        android:paddingLeft="30dp"
        android:paddingRight="30dp"
        app:shimmer_animation_duration="1200">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="ShimmerLayout"
            android:textColor="@color/shimmer_background_color"
            android:textSize="26sp"/>
    </io.supercharge.shimmerlayout.ShimmerLayout>

Last, but not least you have to start it from your Java code

ShimmerLayout shimmerText = (ShimmerLayout) findViewById(R.id.shimmer_text);
shimmerText.startShimmerAnimation();

Further reading

License

ShimmerLayout is opensource, contribution and feedback are welcome!

Apache Version 2.0

Copyright 2017 Supercharge

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.

Author

veghtomi

Supercharge

About

Memory efficient shimmering effect for Android applications by Supercharge.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%