类android.graphics.drawable.RotateDrawable源码实例Demo

下面列出了怎么用android.graphics.drawable.RotateDrawable的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: BlackList   文件: Utils.java
/**
 * Sets the background color of the drawable
 **/
public static void setDrawableColor(Context context, Drawable drawable, @AttrRes int colorAttrRes) {
    int colorRes = getResourceId(context, colorAttrRes);
    int color = ContextCompat.getColor(context, colorRes);
    if (drawable instanceof ShapeDrawable) {
        ((ShapeDrawable) drawable).getPaint().setColor(color);
    } else if (drawable instanceof GradientDrawable) {
        ((GradientDrawable) drawable).setColor(color);
    } else if (drawable instanceof ColorDrawable) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
            ((ColorDrawable) drawable).setColor(color);
        }
    } else if (drawable instanceof RotateDrawable) {
        setDrawableColor(context, ((RotateDrawable) drawable).getDrawable(), colorAttrRes);
    }
}
 
源代码2 项目: InstaTag   文件: InstaTag.java
private void setColor(Drawable drawable, int color) {
    if (drawable instanceof ShapeDrawable) {
        ((ShapeDrawable) drawable).getPaint().setColor(color);
    } else if (drawable instanceof GradientDrawable) {
        ((GradientDrawable) drawable).setColor(color);
    } else if (drawable instanceof ColorDrawable) {
        ((ColorDrawable) drawable).setColor(color);
    } else if (drawable instanceof LayerDrawable) {
        LayerDrawable layerDrawable = (LayerDrawable) drawable;
        RotateDrawable rotateDrawable =
                (RotateDrawable) layerDrawable.findDrawableByLayerId(R.id.carrot_shape_top);
        setColor(rotateDrawable.getDrawable(), color);
    } else if (drawable instanceof RotateDrawable) {
        setColor(((RotateDrawable) drawable).getDrawable(), color);
    }
}
 
源代码3 项目: FirebaseUI-Android   文件: ChatHolder.java
private void setIsSender(boolean isSender) {
    final int color;
    if (isSender) {
        color = mGreen300;
        mLeftArrow.setVisibility(View.GONE);
        mRightArrow.setVisibility(View.VISIBLE);
        mMessageContainer.setGravity(Gravity.END);
    } else {
        color = mGray300;
        mLeftArrow.setVisibility(View.VISIBLE);
        mRightArrow.setVisibility(View.GONE);
        mMessageContainer.setGravity(Gravity.START);
    }

    ((GradientDrawable) mMessage.getBackground()).setColor(color);
    ((RotateDrawable) mLeftArrow.getBackground()).getDrawable()
            .setColorFilter(color, PorterDuff.Mode.SRC);
    ((RotateDrawable) mRightArrow.getBackground()).getDrawable()
            .setColorFilter(color, PorterDuff.Mode.SRC);
}
 
 同包方法