An easy, flexible way to add a shimmering effect to any view in an Android app.

Overview

Shimmer
Shimmer for Android

Shimmer is an Android library that provides an easy way to add a shimmer effect to any view in your Android app.

It is useful as an unobtrusive loading indicator, and was originally developed for Facebook Home.

Find more examples and usage instructions over at:

facebook.github.io/shimmer-android

License

BSD License

For shimmer-android software

Copyright (c) Facebook, Inc. and its affiliates. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  • Neither the name Facebook nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Comments
  • Clear Shimmer

    Clear Shimmer

    I have an image view inside a shimmer frame layout, when load an image into the image view I want to clear the shimmer entirely but there is no way to do this. If I stop the shimmer there is still an overlay over my image view.

    opened by zsweigart 19
  • startShimmer() and stopShimmer() are not starting or stopping the animation view

    startShimmer() and stopShimmer() are not starting or stopping the animation view

    I have implemented the library, but this two scenarios are happening; First, when the view comes up the shimmer animation starts automatically, but when I call mShimmerFrameLayout.stopShimmer() it does not stop it. Secondly, when autoStart is disabled in the layout attribute and the view comes up, if I call mShimmerFrameLayout.startShimmer(), it does not start the animation.

    Please a solution is needed.

    opened by ugokoli 12
  • Error inflating class com.facebook.shimmer.ShimmerFrameLayout

    Error inflating class com.facebook.shimmer.ShimmerFrameLayout

    used jar instead of adding it as compile statement in dependencies. worked fine in demo. but not working in project. Bcause adding dependency was giving me Error:(593) Attribute “shape” already defined with incompatible format this error.

    java.lang.RuntimeException: Unable to start activity ComponentInfo android.view.InflateException: Binary XML file line #41: Binary XML file line #41: Error inflating class com.facebook.shimmer.ShimmerFrameLayout.

    opened by bb1690 10
  • how can i change the colour of the shimmer light

    how can i change the colour of the shimmer light

    i want to create a view which has a bright-white light over the whole view , but when i used this library , the color of the shimmer light always depends on the color of the view's background ,for example , when a view'background is yellow ,the shimmer light is yellow too , but what i want is that the colour of the shimmer light is brght white. how can i make this?

    opened by kency2015 10
  • Out of Memory issue

    Out of Memory issue

    I'm getting Out of memory when using shimmer layout. Following is the log:

    Fatal Exception: java.lang.OutOfMemoryError: Failed to allocate a 7970412 byte allocation with 7192266 free bytes and 6MB until OOM at dalvik.system.VMRuntime.newNonMovableArray(VMRuntime.java) at android.graphics.Bitmap.nativeCreate(Bitmap.java) at android.graphics.Bitmap.createBitmap(Bitmap.java:939) at android.graphics.Bitmap.createBitmap(Bitmap.java:912) at android.graphics.Bitmap.createBitmap(Bitmap.java:879) at com.facebook.shimmer.ShimmerFrameLayout.createBitmapAndGcIfNecessary(ShimmerFrameLayout.java:949) at com.facebook.shimmer.ShimmerFrameLayout.getMaskBitmap(ShimmerFrameLayout.java:825) at com.facebook.shimmer.ShimmerFrameLayout.drawMasked(ShimmerFrameLayout.java:773) at com.facebook.shimmer.ShimmerFrameLayout.dispatchDrawUsingBitmap(ShimmerFrameLayout.java:721) at com.facebook.shimmer.ShimmerFrameLayout.dispatchDraw(ShimmerFrameLayout.java:698) at android.view.View.draw(View.java:16205) at android.widget.FrameLayout.draw(FrameLayout.java:592) at android.view.View.updateDisplayListIfDirty(View.java:15122) at android.view.View.getDisplayList(View.java:15145) at android.view.View.draw(View.java:15923) at android.view.ViewGroup.drawChild(ViewGroup.java:3703) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3497) at android.view.View.draw(View.java:16205) at android.view.View.updateDisplayListIfDirty(View.java:15122) at android.view.View.getDisplayList(View.java:15145) at android.view.View.draw(View.java:15923) at android.view.ViewGroup.drawChild(ViewGroup.java:3703) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3497) at android.view.View.updateDisplayListIfDirty(View.java:15117) at android.view.View.getDisplayList(View.java:15145) at android.view.View.draw(View.java:15923) at android.view.ViewGroup.drawChild(ViewGroup.java:3703) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3497) at android.view.View.updateDisplayListIfDirty(View.java:15117) at android.view.View.getDisplayList(View.java:15145) at android.view.View.draw(View.java:15923) at android.view.ViewGroup.drawChild(ViewGroup.java:3703) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3497) at android.view.View.draw(View.java:16205) at android.widget.FrameLayout.draw(FrameLayout.java:592) at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2923) at android.view.View.updateDisplayListIfDirty(View.java:15122) at android.view.View.getDisplayList(View.java:15145) at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:275) at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:281) at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:320) at android.view.ViewRootImpl.draw(ViewRootImpl.java:2753) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2586) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2178) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1191) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6641) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:777) at android.view.Choreographer.doCallbacks(Choreographer.java:590) at android.view.Choreographer.doFrame(Choreographer.java:560) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:763) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:5942) at java.lang.reflect.Method.invoke(Method.java) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

    opened by varunrramani 10
  • Shimmer Getting Stopped Inside RecyclerView When Scrolling

    Shimmer Getting Stopped Inside RecyclerView When Scrolling

    Hello, Shimmer works like a charm in my project but there's a little problem. as i am using shimmer inside my recyclerview its getting stopped animating when i scrolled :(

    A simple video of that problem -> Video_Of_Stopping Shimmer [20 Sec]

    Note: I applied shimmer in nested recyclerview. Here's my snippet(for simplicity i just added meaningful code).

    Inside MyAdapter

    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
    ......................................
     switch (holder.getItemViewType()) {
     case ViewType.LATEST_MOVIE:
                    final LatestMovieViewHolder latestMovieViewHolder = (LatestMovieViewHolder) holder;
                    latestMovieViewHolder.titleMovie.setText("Latest Movie");
                    latestMovieViewHolder.shimmerFrameLayout.setVisibility(View.VISIBLE);
                    latestMovieViewHolder.shimmerFrameLayout.startShimmerAnimation();
                    latestMovieViewHolder.sectionRecylerView.setLayoutManager(new LinearLayoutManager(context, OrientationHelper.HORIZONTAL, false));
                    latestMovieViewHolder.sectionRecylerView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
                    RetrofitRequestAPI retrofitRequestAPI = MyRetrofit.getRetrofitInstance().create(RetrofitRequestAPI.class);
                    Call<List<Movie>> requestObject = retrofitRequestAPI.getMoviesInTheater();
                    requestObject.enqueue(new Callback<List<Movie>>() {
                        @Override
                        public void onResponse(Call<List<Movie>> call, Response<List<Movie>> response) {
                            if (response.body() != null) {
                                latestMovieViewHolder.shimmerFrameLayout.stopShimmerAnimation();
                                latestMovieViewHolder.sectionRecylerView.setVisibility(View.VISIBLE);
                                latestMovieViewHolder.shimmerFrameLayout.setVisibility(View.GONE);
                                latestMovieViewHolder.sectionRecylerView.setAdapter(new SectionAdapter(context, response.body()));
                            }
                        }
    
                        @Override
                        public void onFailure(Call<List<Movie>> call, Throwable t) {
                            Toast.makeText(context, t.getMessage(), Toast.LENGTH_LONG).show();
                        }
                    });
                    break;
    ............................`
    
    
    **And here XML** 
    
    `
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        <!--------------------other staff>
    
        <com.facebook.shimmer.ShimmerFrameLayout
            android:id="@+id/shimmerView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:visibility="gone">
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
                <include layout="@layout/recyler_view_shimmer" />
                <include layout="@layout/recyler_view_shimmer" />
                <include layout="@layout/recyler_view_shimmer" />
            </LinearLayout>
        </com.facebook.shimmer.ShimmerFrameLayout>
    
        <android.support.v7.widget.RecyclerView
            android:id="@+id/singleSectionRecylerView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>
    
    ```
    opened by thatsenam 8
  • Please ShimmerFrameLayout needs to update version, cannot find class on android 3.3.2 build gradle

    Please ShimmerFrameLayout needs to update version, cannot find class on android 3.3.2 build gradle

    Build gradle: classpath 'com.android.tools.build:gradle:3.3.2'

    Shimmer version: 0.4.0

    EDITED: On build gradle version 3.3.2, the ShimmerFrameLayout v0.4.0 show error cannot find class.

    opened by mochadwi 6
  • White shimmer above children

    White shimmer above children

    i have imageview insdie shimmer Frame i want to just white shimmer over it i have tried so many ways but can't achieve anything i just want white shimmer over my image view currently i am doing this but nothing happening i started it pragmatically

                <com.facebook.shimmer.ShimmerFrameLayout
                    android:id="@+id/shimmer_view_img"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    ads:shimmer_highlight_color="@color/m_color_sky_blue"
                    ads:shimmer_base_alpha="1"
                    app:shimmer_auto_start="false">
    
                    <ImageView
                        android:id="@+id/iv_app_icon"
                        android:layout_width="70dp"
                        android:layout_height="70dp"
                        android:layout_gravity="center"
                        ads:srcCompat="@mipmap/white_lock" />
    
                </com.facebook.shimmer.ShimmerFrameLayout>
    
    opened by mianaliasjad 6
  • Update Gradle to 4.1.0

    Update Gradle to 4.1.0

    At the same time as the Gradle update, the following items have also been changed.

    • Update Gradle Wrapper to 6.5-all
    • Update Kotlin to 1.4.10
    • Remove unnecessary buildscript and allprojects from the module-level build.gradle
    CLA Signed Merged 
    opened by Kiaorra 5
  • ShimmerFrameLayout inside ShimmerFrameLayout issue

    ShimmerFrameLayout inside ShimmerFrameLayout issue

    In case you have ShimmerFrameLayout (outer) inside ShimmerFrameLayout (inner), and you start shimmer for inner view - it also starts shimmer for outer view (at least animate it). Could you please check this?

    opened by ArthurMytsko 5
  • java.lang.OutOfMemoryError · Failed to allocate a....

    java.lang.OutOfMemoryError · Failed to allocate a....

    java.lang.OutOfMemoryError: Failed to allocate a 1843212 byte allocation with 686904 free bytes and 670KB until OOM at dalvik.system.VMRuntime.newNonMovableArray(VMRuntime.java:-2) at android.graphics.Bitmap.nativeCreate(Bitmap.java:-2) at android.graphics.Bitmap.createBitmap(Bitmap.java:975) at android.graphics.Bitmap.createBitmap(Bitmap.java:946) at android.graphics.Bitmap.createBitmap(Bitmap.java:913)

    opened by gastoncesarf 5
  • Asynchronous animation for items in a RecyclerView

    Asynchronous animation for items in a RecyclerView

    Hi. There is such a problem. I have a RecyclerView list which contains, let's say 100 elements, each element is a viewHolder-> textViewwrapped in a shimmer.

    When the RecyclerView calls the bindmethod I start the shimmer animation and my text starts to flicker(shimmer effect), it is ok, good.

    BUT as soon as I scroll down the list below, the next elements also start the shimmer (because bind is called for new item). And it turns out that the start time of the shimmer is different for elements.

    Is there a way to make the shimmer animation for all elements in list synchronous?

    opened by PavelLida 0
  • Enable change of repeat count value and support animator listeners

    Enable change of repeat count value and support animator listeners

    This change allows users of ShimmerFrameLayout to query/change a value of repetitions count and add/remove animator listeners.

    With these changes users will be able to change a shimmer effect when the current animation (or repetition cycle) is finished.

    CLA Signed 
    opened by volo-droid 2
  • Release 0.6.0 version

    Release 0.6.0 version

    Current library version 0.5.0 was released more than 3 years ago. As of today the main branch is ahead of 0.5.0 release by 25 commits (including important crash and OOM fixes). It'd be good to have a new version with those fixes released.

    opened by volo-droid 2
  • ShimmerDrawable not working with View.LAYER_TYPE_HARDWARE

    ShimmerDrawable not working with View.LAYER_TYPE_HARDWARE

    ShimmerDrawable not working with View.LAYER_TYPE_HARDWARE and View.LAYER_TYPE_SOFTWARE.

    Environment: Android emulator, Pixel 4 api 31

        Shimmer shimmer = new Shimmer.ColorHighlightBuilder()
            .setBaseAlpha(0.7f)
            .setHighlightAlpha(0.9f)
            .setDuration(10000)
            .setDirection(Shimmer.Direction.TOP_TO_BOTTOM)
            .setAutoStart(true)
            .build();
    
        ShimmerDrawable shimmerDrawable = new ShimmerDrawable();
        shimmerDrawable.setShimmer(shimmer);
    
        ShimmerDrawable shimmerDrawable2 = new ShimmerDrawable();
        shimmerDrawable2.setShimmer(shimmer);
    
        ShimmerDrawable shimmerDrawable3 = new ShimmerDrawable();
        shimmerDrawable3.setShimmer(shimmer);
    
        appCompatImageView.setLayerType(View.LAYER_TYPE_NONE, null);
        appCompatImageView.setImageDrawable(shimmerDrawable);
    
        appCompatImageView2.setLayerType(View.LAYER_TYPE_HARDWARE, null);
        appCompatImageView2.setImageDrawable(shimmerDrawable2);
    
        appCompatImageView3.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
        appCompatImageView3.setImageDrawable(shimmerDrawable3);
    
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:orientation="vertical">
    
      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="LAYER_TYPE_NONE" />
    
      <androidx.appcompat.widget.AppCompatImageView
        android:id="@+id/appCompatImageView"
        android:layout_width="100dp"
        android:layout_height="100dp" />
    
      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="LAYER_TYPE_HARDWARE" />
    
      <androidx.appcompat.widget.AppCompatImageView
        android:id="@+id/appCompatImageView2"
        android:layout_width="100dp"
        android:layout_height="100dp" />
    
      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="LAYER_TYPE_SOFTWARE" />
    
      <androidx.appcompat.widget.AppCompatImageView
        android:id="@+id/appCompatImageView3"
        android:layout_width="100dp"
        android:layout_height="100dp" />
        
    </LinearLayout>
    

    Screenshot

    opened by fsgjlp 1
  • Support for passing default style by theme attribute

    Support for passing default style by theme attribute

    Please add support for using theme attribute to pass default style.

    It could be done in Shimmer builder by accepting third parameter

       AlphaHighlightBuilder().consumeAttributes(context, null, R.attr.shimmerStyle).build()
    

    Or for extending Layout class, like

        class MyLayout constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = R.attr.shimmerStyle) : ShimmerFrameLayout(context, attrs, defStyleAttr)
    
    opened by v-mas 0
  • use recycled bitmap error

    use recycled bitmap error

    i've got a lot of events in Crashlytics with this description:

    Fatal Exception: java.lang.RuntimeException
    Canvas: trying to use a recycled bitmap android.graphics.Bitmap@918d560
    android.graphics.BaseCanvas.throwIfCannotDraw (BaseCanvas.java:77)
    android.view.ViewGroup.dispatchDraw (ViewGroup.java:5093)
    com.facebook.shimmer.ShimmerFrameLayout.dispatchDraw (ShimmerFrameLayout.java:157)
    
    opened by Firsto 0
Releases(0.5.0)
  • 0.5.0(Jul 17, 2019)

    97ca4d1 Add show + hide functionality (#86) cd1148d Migrate to AndroidX (and relevant updates) (#72) b055bbc Add copyFrom method to builder

    Source code(tar.gz)
    Source code(zip)
  • 0.4.0(Jan 5, 2019)

  • 0.3.0(Aug 1, 2018)

    473ed75 Ensure the shader exists before attempting to draw 58af197 Use matrix transformations to draw the shimmer instead of rotating a drawn rect b6b9026 Draw ShimmerDrawable mDrawRect at correct position (#60) 1e98a6b Properly null check shimmer instance in drawable 93f0a71 Abstract draw code into ShimmerDrawable 24565dd Reuse isShimmerStarted instead of duplicating logic 511031c Removing hardcoded strings

    Source code(tar.gz)
    Source code(zip)
  • 0.2.0(Apr 17, 2018)

    544c568 Rewrite ShimmerFrameLayout to be much more performant (uses at most 1/3 of the previous memory usage) f27a5ad Don't leak target SDK to consumers a360eb1 Prefix attributes with shimmer_

    Source code(tar.gz)
    Source code(zip)
  • 0.1.0(Mar 5, 2015)

Owner
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
Facebook
Library provides an easy way to a add shimmer effect in Android Compose project.

Add a shimmer effect to the layout in Android Compose

Valery 66 Dec 14, 2022
Android library. Flexible components for chat UI implementation with flexible possibilities for styling, customizing and data management. Made by Stfalcon

ChatKit for Android ChatKit is a library designed to simplify the development of UI for such a trivial task as chat. It has flexible possibilities for

Stfalcon LLC 3.6k Jan 5, 2023
AndroidPhotoFilters aims to provide fast, powerful and flexible image processing instrument for creating awesome effects on any image media.

PhotoFiltersSDK PhotoFiltersSDK aims to provide fast, powerful and flexible image processing instrument for creating awesome effects on any image medi

Zomato 2.5k Dec 23, 2022
:sparkles: An easy way to implement an elastic touch effect for Android.

ElasticViews ✨ An easy way to implement an elastic touch effect for Android. Including in your project Gradle Add below codes to your root build.gradl

Jaewoong Eum 763 Dec 29, 2022
EtsyBlur is an Android library that allows developers to easily add a glass-like blur effect implemented in the Etsy app.

EtsyBlur EtsyBlur is an Android library that allows developers to easily add a glass-like blur effect implemented in the past Etsy app. Try out the sa

Manabu S. 755 Dec 29, 2022
Customizable bounce animation for any view like in Clash Royale app

Bounceview-Android Customizable bounce animation for any view updation Getting Started In your build.gradle dependencies { implementation 'hari.bo

Hariprasanth S 149 Nov 18, 2022
ViewAnimator view with a lollipop style reveal effect

ViewRevealAnimator Widget ViewAnimator view with a lollipop style reveal effect. Regular animation can be set (just like the default ViewAnimator) for

Alessandro Crugnola 339 Jun 3, 2022
Android Country Picker is a Kotlin-first, flexible and powerful Android library that allows to integrate Country Picker with just a few lines.

1. Add dependency dependencies { implementation 'com.hbb20:android-country-picker:X.Y.Z' } For latest version, 2. Decide your use-case

Harsh B. Bhakta 65 Dec 6, 2022
This library provides easy ways to add onboarding or pager screens with different animation and indicators.

WalkThroughAndroid Make amazing OnBoarding Screens easily for your app with different colorful animations, fonts, styles, and many more. Customize you

MindInventory 33 Sep 9, 2022
Location tracking & geofencing the easy way. Supports background, killed app, rebooted device different update intervals.

Geofencer Convience library to receive user location updates and geofence events with minimal effort. Features: supports Android-Q receive updates on

null 85 Dec 15, 2022
FastHub - Yet another open-source GitHub client app but unlike any other app

FastHub - Yet another open-source GitHub client app but unlike any other app

zeromake 15 Nov 20, 2022
A component for flip animation on Android, which is similar to the effect in Flipboard iPhone/Android

android-flip Aphid FlipView is a UI component to accomplish the flipping animation like Flipboard does. A pre-built demo APK file for Android OS 2.2+

Bo 2.8k Dec 21, 2022
Android ImageViews animated by Ken Burns Effect

KenBurnsView Android library that provides an extension to ImageView that creates an immersive experience by animating its drawable using the Ken Burn

Flávio Faria 2.7k Jan 2, 2023
Android L Ripple effect wrapper for Views

Material Ripple Layout Ripple effect wrapper for Android Views Including in your project compile 'com.balysv:material-ripple:1.0.2' Check for latest v

Balys Valentukevicius 2.3k Dec 29, 2022
Implementation of Ripple effect from Material Design for Android API 9+

RippleEffect ExpandableLayout provides an easy way to create a view called header with an expandable view. Both view are external layout to allow a ma

Robin Chutaux 4.9k Dec 30, 2022
[] Easily have blurred and transparent background effect on your Android views.

##[DEPRECATED] BlurBehind Easily have blurred and transparent background effect on your Android views. Before API level 14 there was a Window flag cal

Gokberk Ergun 516 Nov 25, 2022
Android StackBlur is a library that can perform a blurry effect on a Bitmap based on a gradient or radius, and return the result. The library is based on the code of Mario Klingemann.

Android StackBlur Android StackBlur is a library that can perform a blurry effect on a Bitmap based on a gradient or radius, and return the result. Th

Enrique López Mañas 3.6k Dec 29, 2022
A pager for Android with parallax effect

ParallaxPagerTransformer A pager transformer for Android with parallax effect Installation in your build.gradle file dependencies { // ... com

Javier Gonzalez 654 Dec 29, 2022
"Gooey-Effect" for android-compose

Gooey effect for android-compose "Gooey" is a library made to use "gooey-effect" that exists as a CSS trick in android-compose. Download repositories

SeokHo-Im 5 Oct 12, 2022