Skip to content

Instantly share code, notes, and snippets.

@menny
Last active October 6, 2017 08:41
Show Gist options
  • Save menny/7878762 to your computer and use it in GitHub Desktop.
Save menny/7878762 to your computer and use it in GitHub Desktop.
static void brandGlowEffect(Context context, int brandColor) {
int glowDrawableId = context.getResources().getIdentifier("overscroll_glow", "drawable", "android");
Drawable androidGlow = context.getResources().getDrawable(glowDrawableId);
androidGlow.setColorFilter(brandColor, PorterDuff.Mode.SRC_IN);
}
static void brandGlowEffect(Context context, int brandColor) {
//glow
int glowDrawableId = context.getResources().getIdentifier("overscroll_glow", "drawable", "android");
Drawable androidGlow = context.getResources().getDrawable(glowDrawableId);
androidGlow.setColorFilter(brandColor, PorterDuff.Mode.SRC_IN);
//edge
int edgeDrawableId = context.getResources().getIdentifier("overscroll_edge", "drawable", "android");
Drawable androidEdge = context.getResources().getDrawable(edgeDrawableId);
androidEdge.setColorFilter(brandColor, PorterDuff.Mode.SRC_IN);
}
public EdgeEffect(Context context) {
final Resources res = context.getResources();
mEdge = res.getDrawable(R.drawable.overscroll_edge);
mGlow = res.getDrawable(R.drawable.overscroll_glow);
public boolean draw(Canvas canvas) {
...
int glowBottom = (int) Math.min(
mGlowHeight * mGlowScaleY * mGlowHeight / mGlowWidth * 0.6f,
mGlowHeight * MAX_GLOW_HEIGHT);
if (mWidth < mMinWidth) {
// Center the glow and clip it.
int glowLeft = (mWidth - mMinWidth)/2;
mGlow.setBounds(glowLeft, 0, mWidth - glowLeft, glowBottom);
} else {
// Stretch the glow to fit.
mGlow.setBounds(0, 0, mWidth, glowBottom);
}
mGlow.draw(canvas);
...
@mrh-is
Copy link

mrh-is commented Dec 9, 2013

This works perfectly (if hackily). As a suggestion, I used PorterDuff.Mode.SRC_IN. That replaces the color completely instead of mutiplying the two colors together, but retains the glow shape.

@serso
Copy link

serso commented Feb 14, 2014

Thumbs up for PorterDuff.Mode.SRC_IN

@menny
Copy link
Author

menny commented Dec 15, 2014

Updated the gist. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment