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!
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|
Download and usage
Get the latest artifact via gradle
Create the layout on which you want to apply the effect and add as a child of a
<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();
- The development of ShimmerLayout - In this article you can read why we created this library and the technologies we used.
ShimmerLayout is opensource, contribution and feedback are welcome!
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.