Skip to content

Instantly share code, notes, and snippets.

@fei-ke
Forked from menny/EdgeEffect_ctor.java
Created June 15, 2014 11:42
Show Gist options
  • Save fei-ke/38f1c35040345a7d2fca to your computer and use it in GitHub Desktop.
Save fei-ke/38f1c35040345a7d2fca 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.MULTIPLY);
}
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.MULTIPLY);
//edge
int edgeDrawableId = context.getResources().getIdentifier("overscroll_edge", "drawable", "android");
Drawable androidEdge = context.getResources().getDrawable(edgeDrawableId);
androidEdge.setColorFilter(brandColor, PorterDuff.Mode.MULTIPLY);
}
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);
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment