Provide both TextView and ImageView the ability to show shimmer (animation loader) before any text or image is shown. Useful when waiting for data to be loaded from the network. Example below
Loader View for TextView defined in layout XML
<com.elyeproj.loaderviewlibrary.LoaderTextView android:layout_width="match_parent" android:layout_height="wrap_content" />
Loader View for ImageView defined in layout XML
<com.elyeproj.loaderviewlibrary.LoaderImageView android:layout_width="100dp" android:layout_height="100dp" />
Define the % width of the TextView that shows the loading animation withwidth_weight
<com.elyeproj.loaderviewlibrary.LoaderTextView android:layout_width="match_parent" android:layout_height="wrap_content" app:width_weight="0.4" />
Define the % height of the TextView that shows the loading animation withheight_weight
<com.elyeproj.loaderviewlibrary.LoaderTextView android:layout_width="match_parent" android:layout_height="wrap_content" app:height_weight="0.8" />
Define use gradient of the TextView or ImageView that shows the gradient withuse_gradient
<com.elyeproj.loaderviewlibrary.LoaderTextView android:layout_width="match_parent" android:layout_height="wrap_content" app:use_gradient="true" />
Setting the Text Style as BOLD would darken the loading shimmer
Other feature of TextView and ImageView is still applicable.
Reset and show shimmer (animation loader) again by calling the below API
myLoaderTextView.resetLoader(); myLoaderImageView.resetLoader();
Android SDK API Version 16 and above.
On your modulebuild.gradle
,add
dependencies { compile 'com.elyeproj.libraries:loaderviewlibrary:1.2.1' }