Skip to content

Instantly share code, notes, and snippets.

@premacck
premacck / ShimmerLinearLayout.java
Last active April 1, 2019 10:45
Animating, customizable Shimmer layout to be used as a substitute for LinearLayout
// TODO: put package information here
import android.animation.Animator;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
@premacck
premacck / StatefulRecyclerView.java
Last active August 22, 2018 07:11
RecyclerView which saves and restores states on application lifecycle changes.
// TODO: put package information here
import android.content.Context;
import android.os.Bundle;
import android.os.Parcelable;
import android.support.annotation.Nullable;
import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet;
/**
@premacck
premacck / DynamicColorProgress.java
Last active April 21, 2019 05:52
Android - Circular indeterminate ProgressBar smoothly fading between various material colors
// TODO: put package information here
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ValueAnimator;
import android.content.Context;
import android.content.res.ColorStateList;
import android.graphics.Color;
import android.util.AttributeSet;
import android.widget.ProgressBar;
@premacck
premacck / FlippedProgressBar.java
Last active August 22, 2018 07:11
Android progressBar in reverse direction.
// TODO: put package information here
import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.widget.ProgressBar;
/**
*
* Created by Prem $ on 9/29/2017.
@premacck
premacck / EndlessRecyclerViewScrollListener.java
Last active August 22, 2018 07:11
Endless RecyclerView scroll listener for simple pagination in Android.
// TODO: put package information here
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import org.jetbrains.annotations.Contract;
/**