Example usage for android.graphics.drawable Drawable setBounds

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

Introduction

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

Prototype

public void setBounds(int left, int top, int right, int bottom) 

Source Link

Document

Specify a bounding rectangle for the Drawable.

Usage

From source file:Main.java

public static void drawLeftAlignItem(Canvas canvas, Drawable drawable, View child,
        ViewGroup.MarginLayoutParams params) {

    final int top = child.getTop() - params.topMargin;
    final int bottom = child.getBottom() + params.bottomMargin;
    final int left = child.getLeft() - params.leftMargin - drawable.getIntrinsicWidth();
    final int right = left + drawable.getIntrinsicWidth();

    drawable.setBounds(left, top, right, bottom);

    drawable.draw(canvas);//from  w  w  w.j a v  a 2 s. c o m
}

From source file:Main.java

private static Bitmap drawableToBitmap(Drawable drawable) {
    if (drawable instanceof BitmapDrawable) {
        return ((BitmapDrawable) drawable).getBitmap();
    }/*w  ww.  j a  v  a2  s  . c o  m*/

    final Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(),
            Bitmap.Config.ARGB_8888);
    final Canvas canvas = new Canvas(bitmap);
    drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
    drawable.draw(canvas);

    return bitmap;
}

From source file:Main.java

public static Bitmap drawableToBitmap(Drawable drawable) {
    int w = drawable.getIntrinsicWidth();
    int h = drawable.getIntrinsicHeight();

    Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
            : Bitmap.Config.RGB_565;/*  ww w. j  av  a 2s. co m*/

    Bitmap bitmap = Bitmap.createBitmap(w, h, config);
    Canvas canvas = new Canvas(bitmap);
    drawable.setBounds(0, 0, w, h);
    drawable.draw(canvas);
    return bitmap;
}

From source file:cn.zhangls.android.weibo.utils.TextUtil.java

/**
 * ?? emoji //from   w w w  .  ja  v a  2 s  .c o m
 *
 * @param context   
 * @param builder   SpannableStringBuilder
 * @param arrayList ??
 */
private static void replaceEmoji(Context context, SpannableStringBuilder builder,
        ArrayList<StrHolder> arrayList, int textSze) {
    if (arrayList != null && arrayList.size() > 0) {
        PinyinUtil pinyinUtils = PinyinUtil.getInstance(context);
        for (StrHolder emoji : arrayList) {
            if (!emoji.getName().isEmpty()) {
                // ??? [] ?? [erha]
                if (emoji.getName().length() <= 2) {
                    return;
                }
                String substring = emoji.getName().substring(1, emoji.getName().length() - 1);
                String pinyin = pinyinUtils.getPinyin(substring);
                Log.d("emoji", "replaceEmoji: ======" + substring + "======" + pinyin);
                if (getResId(pinyin, R.drawable.class) != -1) {
                    //????Id
                    Drawable drawable = ContextCompat.getDrawable(context, getResId(pinyin, R.drawable.class));
                    drawable.setBounds(0, 0, textSze, textSze);
                    //??ImageSpan
                    ImageSpan imageSpan = new ImageSpan(drawable, ImageSpan.ALIGN_BASELINE);
                    // ??23????startend
                    // ???,[5,12)5125?12
                    builder.setSpan(imageSpan, emoji.getStart(), emoji.getEnd(),
                            Spannable.SPAN_INCLUSIVE_INCLUSIVE);
                }
            }
        }
    }
}

From source file:Main.java

public static Bitmap drawableToBitmap(Drawable drawable, int size) {
    int width = size;
    int height = size;
    int ratio = size / drawable.getIntrinsicHeight();
    Bitmap bitmap = Bitmap.createBitmap(width, height,
            drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565);
    Canvas canvas = new Canvas(bitmap);
    drawable.setBounds(0, 0, width, height);
    canvas.scale(ratio, ratio);//from ww  w  . j  ava  2s.  co m
    drawable.draw(canvas);
    return bitmap;
}

From source file:Main.java

public static Bitmap drawableToBitmap(Drawable drawable) {
    int width = drawable.getIntrinsicWidth();
    int height = drawable.getIntrinsicHeight();
    Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
            : Bitmap.Config.RGB_565;//from   w w w. j a v  a 2 s  .  com
    Bitmap bitmap = Bitmap.createBitmap(width, height, config);
    Canvas canvas = new Canvas(bitmap);
    drawable.setBounds(0, 0, width, height);
    drawable.draw(canvas);
    return bitmap;
}

From source file:Main.java

/**
 * Drawable to Bitmap//w w  w . ja  va2 s  .c o  m
 */
public static Bitmap drawableToBitmap(Drawable drawable) {
    if (drawable instanceof BitmapDrawable)
        ((BitmapDrawable) drawable).getBitmap();
    int width = drawable.getIntrinsicWidth();
    int height = drawable.getIntrinsicHeight();
    Bitmap bitmap = createBitmapSafely(width, height, Bitmap.Config.ARGB_8888, 1);
    Canvas canvas = new Canvas(bitmap);
    drawable.setBounds(0, 0, width, height);
    drawable.draw(canvas);
    return bitmap;
}

From source file:Main.java

public static void drawRight(Canvas canvas, Drawable drawable, View child,
        ViewGroup.MarginLayoutParams params) {

    final int top = child.getTop() - params.topMargin - drawable.getIntrinsicHeight();
    final int bottom = child.getBottom() + params.bottomMargin + drawable.getIntrinsicHeight();
    final int left = child.getRight() + params.rightMargin;
    final int right = left + drawable.getIntrinsicWidth();

    drawable.setBounds(left, top, right, bottom);
    drawable.draw(canvas);/*from   ww w  .j a  v  a  2 s.co m*/
}

From source file:Main.java

public static void drawBottom(Canvas canvas, Drawable drawable, View child,
        ViewGroup.MarginLayoutParams params) {

    final int left = child.getLeft() - params.leftMargin - drawable.getIntrinsicWidth();
    final int right = child.getRight() + params.rightMargin + drawable.getIntrinsicWidth();
    final int top = child.getBottom() + params.bottomMargin;
    final int bottom = top + drawable.getIntrinsicHeight();

    drawable.setBounds(left, top, right, bottom);
    drawable.draw(canvas);//from w w w  . j a v  a 2  s. c o m
}

From source file:Main.java

public static void drawTop(Canvas canvas, Drawable drawable, View child, ViewGroup.MarginLayoutParams params) {

    final int left = child.getLeft() - params.leftMargin - drawable.getIntrinsicWidth();
    final int right = child.getRight() + params.rightMargin + drawable.getIntrinsicWidth();
    final int top = child.getTop() - params.topMargin - drawable.getIntrinsicHeight();
    final int bottom = top + drawable.getIntrinsicHeight();

    drawable.setBounds(left, top, right, bottom);
    drawable.draw(canvas);/*  w  w  w  . j  a  va2 s. c  o m*/
}