Example usage for android.graphics.drawable Drawable setCallback

List of usage examples for android.graphics.drawable Drawable setCallback

Introduction

In this page you can find the example usage for android.graphics.drawable Drawable setCallback.

Prototype

public final void setCallback(@Nullable Callback cb) 

Source Link

Document

Bind a Callback object to this Drawable.

Usage

From source file:Main.java

public static Bitmap recolorBitmap(Drawable drawable, int color) {
    if (drawable == null) {
        return null;
    }//from   ww  w.j  av  a2s .  c  o  m

    int width = drawable.getIntrinsicWidth();
    int height = drawable.getIntrinsicHeight();
    if (width <= 0 || height <= 0) {
        return Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888);
    }

    Bitmap outBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(outBitmap);
    drawable.setBounds(0, 0, outBitmap.getWidth(), outBitmap.getHeight());
    drawable.setColorFilter(color, PorterDuff.Mode.SRC_IN);
    drawable.draw(canvas);
    drawable.setColorFilter(null);
    drawable.setCallback(null); // free up any references
    return outBitmap;
}

From source file:com.negusoft.greenmatter.drawable.CompoundDrawableWrapper.java

public CompoundDrawableWrapper(Drawable primary, boolean secondaryInBackgound, Drawable... secondary) {
    super(primary);
    mPrimaryDrawable = primary;/*from  w  w  w. j a v  a 2s . co m*/
    mSecondaryInBackground = secondaryInBackgound;
    mSecondaryDrawables = secondary;
    for (Drawable d : mSecondaryDrawables)
        d.setCallback(this);
}

From source file:android.support.v7.widget.AppCompatSeekBarHelper.java

void setTickMark(@Nullable Drawable tickMark) {
    if (mTickMark != null) {
        mTickMark.setCallback(null);//from   www .j a v  a2 s .co m
    }

    mTickMark = tickMark;

    if (tickMark != null) {
        tickMark.setCallback(mView);
        DrawableCompat.setLayoutDirection(tickMark, ViewCompat.getLayoutDirection(mView));
        if (tickMark.isStateful()) {
            tickMark.setState(mView.getDrawableState());
        }
        applyTickMarkTint();
    }

    mView.invalidate();
}

From source file:me.ele.mars.view.BezelImageView.java

public BezelImageView(Context context, Drawable mMaskDrawable) {
    this(context);
    if (mMaskDrawable != null) {
        this.mMaskDrawable = mMaskDrawable;
        mMaskDrawable.setCallback(this);
    }// www .ja v  a  2  s .c  o m
    // Other initialization
    mBlackPaint = new Paint();
    mBlackPaint.setColor(0xff000000);

    mMaskedPaint = new Paint();
    mMaskedPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));

    // Always want a cache allocated.
    mCacheBitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888);

    if (mDesaturateOnPress) {
        // Create a desaturate color filter for pressed state.
        ColorMatrix cm = new ColorMatrix();
        cm.setSaturation(0);
        mDesaturateColorFilter = new ColorMatrixColorFilter(cm);
    }
}

From source file:android.support.v7.graphics.drawable.DrawableWrapper.java

public void setWrappedDrawable(Drawable drawable) {
    if (mDrawable != null) {
        mDrawable.setCallback(null);//from  w  w  w .j  ava2 s.  com
    }

    mDrawable = drawable;

    if (drawable != null) {
        drawable.setCallback(this);
    }
}

From source file:com.github.shareme.gwsmaterialuikit.library.material.drawable.PaddingDrawable.java

public void setWrappedDrawable(Drawable drawable) {
    if (mDrawable != null) {
        mDrawable.setCallback(null);//  w  ww.j  av a2s  .  co m
    }

    mDrawable = drawable;

    if (drawable != null) {
        drawable.setCallback(this);
    }

    onBoundsChange(getBounds());
    invalidateSelf();
}

From source file:android.support.v7.widget.ActionBarContainer.java

public void setPrimaryBackground(Drawable bg) {
    if (mBackground != null) {
        mBackground.setCallback(null);/*from ww  w .j a  v a2s  .c  om*/
        unscheduleDrawable(mBackground);
    }
    mBackground = bg;
    if (bg != null) {
        bg.setCallback(this);
        if (mActionBarView != null) {
            mBackground.setBounds(mActionBarView.getLeft(), mActionBarView.getTop(), mActionBarView.getRight(),
                    mActionBarView.getBottom());
        }
    }
    setWillNotDraw(mIsSplit ? mSplitBackground == null : mBackground == null && mStackedBackground == null);
    invalidate();
}

From source file:com.example.qingunext.app.util.DrawableWrapper.java

public void setWrappedDrawable(Drawable drawable) {
    if (mDrawable != null) {
        mDrawable.setCallback(null);//  ww  w .j a v a 2 s  .co  m
    }
    mDrawable = drawable;
    if (drawable != null) {
        mDrawable.setBounds(0, 0, getIntrinsicWidth(), getIntrinsicHeight());
        //            mDrawable.setBounds(getBounds());
        drawable.setCallback(this);
    }
}

From source file:android.support.v7.widget.ActionBarContainer.java

public void setSplitBackground(Drawable bg) {
    if (mSplitBackground != null) {
        mSplitBackground.setCallback(null);
        unscheduleDrawable(mSplitBackground);
    }/* w  w  w.j  a v a  2 s.com*/
    mSplitBackground = bg;
    if (bg != null) {
        bg.setCallback(this);
        if (mIsSplit && mSplitBackground != null) {
            mSplitBackground.setBounds(0, 0, getMeasuredWidth(), getMeasuredHeight());
        }
    }
    setWillNotDraw(mIsSplit ? mSplitBackground == null : mBackground == null && mStackedBackground == null);
    invalidate();
}

From source file:android.support.v7.widget.ActionBarContainer.java

public void setStackedBackground(Drawable bg) {
    if (mStackedBackground != null) {
        mStackedBackground.setCallback(null);
        unscheduleDrawable(mStackedBackground);
    }//w ww  .j  a v a  2s .c om
    mStackedBackground = bg;
    if (bg != null) {
        bg.setCallback(this);
        if ((mIsStacked && mStackedBackground != null)) {
            mStackedBackground.setBounds(mTabContainer.getLeft(), mTabContainer.getTop(),
                    mTabContainer.getRight(), mTabContainer.getBottom());
        }
    }
    setWillNotDraw(mIsSplit ? mSplitBackground == null : mBackground == null && mStackedBackground == null);
    invalidate();
}