/** * Apply an arbitrary colorfilter to the image. * * @param cf the colorfilter to apply (may be null) */ public void setColorFilter(ColorFilter cf) { if (mColorFilter != cf) { mColorFilter = cf; applyColorMod(); invalidate(); } }
public void setAlpha(int alpha) { alpha &= 0xFF; // keep it legal if (mAlpha != alpha) { mAlpha = alpha; applyColorMod(); invalidate(); } }
@Override protected boolean onSetAlpha(int alpha) { if (getBackground() == null) { int scale = alpha + (alpha >> 7); if (mViewAlphaScale != scale) { mViewAlphaScale = scale; applyColorMod(); } return true; } return false; }
private void updateDrawable(Drawable d) { if (mDrawable != null) { mDrawable.setCallback(null); unscheduleDrawable(mDrawable); } mDrawable = d; if (d != null) { d.setCallback(this); if (d.isStateful()) { d.setState(getDrawableState()); } d.setLevel(mLevel); mDrawableWidth = d.getIntrinsicWidth(); mDrawableHeight = d.getIntrinsicHeight(); applyColorMod(); configureBounds(); } }