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:com.coodesoft.notee.MyImageGetter.java

@Override
public Drawable getDrawable(String source) {
    Drawable d = null;

    String strSrcLeft5 = source.substring(0, 5);

    // data/*  w  w w  .  j  av a  2s. com*/
    if (strSrcLeft5.equalsIgnoreCase("data:")) {
        InputStream is = new ByteArrayInputStream(source.getBytes());

        //d = Drawable.createFromStream(is, null);
        //d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());

        //Bitmap dBitmap = BitmapFactory.decodeByteArray(data, 0, length);
        int nPosComma = source.indexOf(',');
        if (nPosComma > 0) {
            byte[] arrBuffer = Base64.decode(source.substring(nPosComma + 1), Base64.DEFAULT);
            //byte[] arrBuffer = Base64Coder.decode(source.substring(nPosComma + 1));
            Bitmap dBitmap = BitmapFactory.decodeByteArray(arrBuffer, 0, arrBuffer.length);
            d = new BitmapDrawable(dBitmap);
            d.setBounds(0, 0, dBitmap.getWidth(), dBitmap.getHeight());
        }

    } else {
        // url

        try {

            InputStream is = (InputStream) new URL(source).getContent();
            Bitmap dBitmap = BitmapFactory.decodeStream(is);
            if (dBitmap == null) {
                d = Resources.getSystem().getDrawable(android.R.drawable.picture_frame);
            } else {
                d = new BitmapDrawable(dBitmap);
                d.setBounds(0, 0, dBitmap.getWidth(), dBitmap.getHeight());
            }

            d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());

        } catch (MalformedURLException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        }

        /*
         URLDrawable urlDrawable = new URLDrawable();
                
         // get the actual source
         ImageGetterAsyncTask asyncTask = 
        new ImageGetterAsyncTask( urlDrawable);
                
         asyncTask.execute(source);
                
         // return reference to URLDrawable where I will change with actual image from
         // the src tag
         return urlDrawable;
         */

    }

    return d;
}

From source file:com.fullteem.yueba.app.ui.MainActivity.java

@Override
public void initData() {
    LogUtil.LogDebug("?", "Fragment:" + System.currentTimeMillis(), null);
    mListener = new MyListener();
    // for fragent
    mFragments = new ArrayList<Fragment>(PAGE_TOATAL);
    mFragments.add(NearbyMainFragment.getInstance());
    mFragments.add(MessageMainFragment.getInstance());
    mFragments.add(DiscoverMainFragment.getInstance());
    mFragments.add(PersonalMainFragment.getInstance());

    for (int i = 0; i < mFragments.size(); i++) {
        getSupportFragmentManager().beginTransaction().add(R.id.ll_fragmentcontainer, mFragments.get(i))
                .commit();//w  ww. j a v a 2 s.co  m
    }
    ((NearbyMainFragment) mFragments.get(0)).onLuckyMeet();

    // for show image
    int[] imgId = { R.drawable.img_main_nearby, R.drawable.img_main_message, R.drawable.img_main_discover,
            R.drawable.img_main_personal, R.drawable.img_main_nearby_selected,
            R.drawable.img_main_message_selected, R.drawable.img_main_discover_selected,
            R.drawable.img_main_personal_selected };
    mImgUnSelected = new ArrayList<Drawable>(PAGE_TOATAL);
    for (int i = 0; i < PAGE_TOATAL; i++) {
        Drawable drawable = getResources().getDrawable(imgId[i]);
        drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
        mImgUnSelected.add(drawable);
    }
    mImgSelected = new ArrayList<Drawable>(PAGE_TOATAL);
    for (int i = 4; i < imgId.length; i++) {
        Drawable drawable = getResources().getDrawable(imgId[i]);
        drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
        mImgSelected.add(drawable);
    }

    // ??
    inviteMessgeDao = new InviteMessgeDao(this);
    userDao = new UserDao(this);
    // ?BroadcastReceiver
    msgReceiver = new NewYBMessageBroadcastReceiver();
    IntentFilter intentFilter = new IntentFilter(EMChatManager.getInstance().getNewMessageBroadcastAction());
    intentFilter.setPriority(3);
    registerReceiver(msgReceiver, intentFilter);
    // ack?BroadcastReceiver
    IntentFilter ackMessageIntentFilter = new IntentFilter(
            EMChatManager.getInstance().getAckMessageBroadcastAction());
    ackMessageIntentFilter.setPriority(3);
    registerReceiver(ackMessageReceiver, ackMessageIntentFilter);

    // ??BroadcastReceiver
    IntentFilter cmdMessageIntentFilter = new IntentFilter(
            EMChatManager.getInstance().getCmdMessageBroadcastAction());
    cmdMessageIntentFilter.setPriority(3);
    registerReceiver(cmdMessageReceiver, cmdMessageIntentFilter);

    // setContactListener???
    EMContactManager.getInstance().setContactListener(new MyContactListener());
    // ??listener
    EMChatManager.getInstance().addConnectionListener(new MyConnectionListener());
    // ?listener
    EMGroupManager.getInstance().addGroupChangeListener(new MyGroupChangeListener());
    // sdkUI ??receiverlistener, ??broadcast
    EMChat.getInstance().setAppInited();
    LogUtil.LogDebug("?", "MainActivity ??:" + System.currentTimeMillis(), null);
}

From source file:com.waz.zclient.controllers.notifications.NotificationsController.java

private Bitmap getAppIcon() {
    try {//from   w w w .  j ava 2  s  .  com
        Drawable icon = context.getPackageManager().getApplicationIcon(context.getPackageName());
        if (icon instanceof BitmapDrawable) {
            return ((BitmapDrawable) icon).getBitmap();
        }
        Bitmap bitmap = Bitmap.createBitmap(icon.getIntrinsicWidth(), icon.getIntrinsicHeight(),
                Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(bitmap);
        icon.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
        icon.draw(canvas);
        return bitmap;
    } catch (PackageManager.NameNotFoundException e) {
        return BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_launcher_wire);
    }
}

From source file:com.zhenlaidian.ui.InputCarNumberActivity.java

private void initPopWindow(final ArrayList<CarTypeItem> car_type) {

    View cartypeView = getLayoutInflater().inflate(R.layout.cartype_layout, null, false);
    pow = new PopupWindow(cartypeView, WindowManager.LayoutParams.MATCH_PARENT,
            WindowManager.LayoutParams.WRAP_CONTENT, true);
    // ??BackPopupWindow
    pow.setOutsideTouchable(true);//from   ww w  . j a  v  a2  s.c  o m
    pow.setBackgroundDrawable(new BitmapDrawable());
    cartypeView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (pow != null && pow.isShowing()) {
                pow.dismiss();
                pow = null;
            }
            return false;
        }
    });
    pow.setOnDismissListener(new PopupWindow.OnDismissListener() {
        @Override
        public void onDismiss() {
            Drawable d = getResources().getDrawable(R.drawable.set_collect_on);
            d.setBounds(0, 0, d.getMinimumWidth(), d.getMinimumHeight()); //
            cartype.setCompoundDrawables(null, null, d, null);
        }
    });
    listtype = ((ListView) cartypeView.findViewById(R.id.cartype_lv_popview));

    if (car_type.size() > 9) {
        ViewGroup.LayoutParams params = listtype.getLayoutParams();
        params.height = CommontUtils.getScreenWidth(this);
        listtype.setLayoutParams(params);
    }
    cartypeAdapter = new CartypeAdapter(car_type, context);
    listtype.setAdapter(cartypeAdapter);
    listtype.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            cartypecode = car_type.get(position).getId();
            cartype.setText(car_type.get(position).getName());
            pow.dismiss();
        }
    });
}

From source file:com.zhenlaidian.ui.InputCarNumberActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //        instance = this;
    setContentView(R.layout.x_inputcarnumber_layout);

    actionBar.show();//from  w  w w.j av a 2 s .  c  o  m
    InitImageView();
    InitTextView();
    InitViewPager();
    hideTypewriting();
    setView();
    setView1();
    setView2();
    sheView3();

    String strcartype = getStringFromPreference("car_type");
    //        String strcartype = "[{\"id\":\"66\",\"name\":\"?\"},{\"id\":\"67\",\"name\":\"\"},{\"id\":\"68\",\"name\":\"\"}]";

    cartype = ((TextView) findViewById(R.id.input_cartype));
    if (!TextUtils.isEmpty(strcartype)) {
        Gson gson = new Gson();
        car_type = gson.fromJson(strcartype, new TypeToken<ArrayList<CarTypeItem>>() {
        }.getType());
        cartype.setVisibility(View.VISIBLE);
        cartype.setText(car_type.get(0).getName());
        cartypecode = car_type.get(0).getId();
    } else {
        cartype.setVisibility(View.GONE);
    }
    cartype.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // ?
            if (pow != null && pow.isShowing()) {
                pow.dismiss();
                return;
            } else {
                Drawable d = getResources().getDrawable(R.drawable.set_collect_off);
                d.setBounds(0, 0, d.getMinimumWidth(), d.getMinimumHeight()); //
                cartype.setCompoundDrawables(null, null, d, null);
                initPopWindow(car_type);
                int[] location = new int[2];
                v.getLocationOnScreen(location);
                pow.showAsDropDown(cartype);
            }
        }
    });
}

From source file:com.android.launcher3.folder.FolderIcon.java

private void drawPreviewItem(Canvas canvas, PreviewItemDrawingParams params) {
    canvas.save();//  ww  w  .j  av a  2 s .c  o  m
    canvas.translate(params.transX, params.transY);
    canvas.scale(params.scale, params.scale);
    Drawable d = params.drawable;

    if (d != null) {
        mOldBounds.set(d.getBounds());
        d.setBounds(0, 0, mIntrinsicIconSize, mIntrinsicIconSize);
        if (d instanceof FastBitmapDrawable) {
            FastBitmapDrawable fd = (FastBitmapDrawable) d;
            float oldBrightness = fd.getBrightness();
            fd.setBrightness(params.overlayAlpha);
            d.draw(canvas);
            fd.setBrightness(oldBrightness);
        } else {
            d.setColorFilter(Color.argb((int) (params.overlayAlpha * 255), 255, 255, 255),
                    PorterDuff.Mode.SRC_ATOP);
            d.draw(canvas);
            d.clearColorFilter();
        }
        d.setBounds(mOldBounds);
    }
    canvas.restore();
}

From source file:com.yk.notification.util.BitmapUtil.java

/**
 * DrawableBitmap/*w w w  .  j  ava  2 s  .c  om*/
 * 
 * @param drawable
 *            Drawable
 * @return Bitmap
 */
public static Bitmap getBitmapFromDrawable(Drawable drawable) {
    int width = drawable.getIntrinsicWidth();
    int height = drawable.getIntrinsicHeight();
    Bitmap bitmap = Bitmap.createBitmap(width, height,
            drawable.getOpacity() != PixelFormat.OPAQUE ? Config.ARGB_8888 : Config.RGB_565);
    Canvas canvas = new Canvas(bitmap);
    drawable.setBounds(0, 0, width, height);
    drawable.draw(canvas);
    return bitmap;

}

From source file:com.ferdi2005.secondgram.AndroidUtilities.java

private static Intent createShortcutIntent(long did, boolean forDelete) {
    Intent shortcutIntent = new Intent(ApplicationLoader.applicationContext, OpenChatReceiver.class);

    int lower_id = (int) did;
    int high_id = (int) (did >> 32);

    TLRPC.User user = null;//from   ww  w.  j  av  a2 s . c o  m
    TLRPC.Chat chat = null;
    if (lower_id == 0) {
        shortcutIntent.putExtra("encId", high_id);
        TLRPC.EncryptedChat encryptedChat = MessagesController.getInstance().getEncryptedChat(high_id);
        if (encryptedChat == null) {
            return null;
        }
        user = MessagesController.getInstance().getUser(encryptedChat.user_id);
    } else if (lower_id > 0) {
        shortcutIntent.putExtra("userId", lower_id);
        user = MessagesController.getInstance().getUser(lower_id);
    } else if (lower_id < 0) {
        chat = MessagesController.getInstance().getChat(-lower_id);
        shortcutIntent.putExtra("chatId", -lower_id);
    } else {
        return null;
    }
    if (user == null && chat == null) {
        return null;
    }

    String name;
    TLRPC.FileLocation photo = null;

    if (user != null) {
        name = ContactsController.formatName(user.first_name, user.last_name);
        if (user.photo != null) {
            photo = user.photo.photo_small;
        }
    } else {
        name = chat.title;
        if (chat.photo != null) {
            photo = chat.photo.photo_small;
        }
    }

    shortcutIntent.setAction("com.tmessages.openchat" + did);
    shortcutIntent.addFlags(0x4000000);

    Intent addIntent = new Intent();
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, name);
    addIntent.putExtra("duplicate", false);
    if (!forDelete) {
        Bitmap bitmap = null;
        if (photo != null) {
            try {
                File path = FileLoader.getPathToAttach(photo, true);
                bitmap = BitmapFactory.decodeFile(path.toString());
                if (bitmap != null) {
                    int size = AndroidUtilities.dp(58);
                    Bitmap result = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888);
                    result.eraseColor(Color.TRANSPARENT);
                    Canvas canvas = new Canvas(result);
                    BitmapShader shader = new BitmapShader(bitmap, Shader.TileMode.CLAMP,
                            Shader.TileMode.CLAMP);
                    if (roundPaint == null) {
                        roundPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
                        bitmapRect = new RectF();
                    }
                    float scale = size / (float) bitmap.getWidth();
                    canvas.save();
                    canvas.scale(scale, scale);
                    roundPaint.setShader(shader);
                    bitmapRect.set(0, 0, bitmap.getWidth(), bitmap.getHeight());
                    canvas.drawRoundRect(bitmapRect, bitmap.getWidth(), bitmap.getHeight(), roundPaint);
                    canvas.restore();
                    Drawable drawable = ApplicationLoader.applicationContext.getResources()
                            .getDrawable(R.drawable.book_logo);
                    int w = AndroidUtilities.dp(15);
                    int left = size - w - AndroidUtilities.dp(2);
                    int top = size - w - AndroidUtilities.dp(2);
                    drawable.setBounds(left, top, left + w, top + w);
                    drawable.draw(canvas);
                    try {
                        canvas.setBitmap(null);
                    } catch (Exception e) {
                        //don't promt, this will crash on 2.x
                    }
                    bitmap = result;
                }
            } catch (Throwable e) {
                FileLog.e(e);
            }
        }
        if (bitmap != null) {
            addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON, bitmap);
        } else {
            if (user != null) {
                if (user.bot) {
                    addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource
                            .fromContext(ApplicationLoader.applicationContext, R.drawable.book_bot));
                } else {
                    addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource
                            .fromContext(ApplicationLoader.applicationContext, R.drawable.book_user));
                }
            } else if (chat != null) {
                if (ChatObject.isChannel(chat) && !chat.megagroup) {
                    addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource
                            .fromContext(ApplicationLoader.applicationContext, R.drawable.book_channel));
                } else {
                    addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource
                            .fromContext(ApplicationLoader.applicationContext, R.drawable.book_group));
                }
            }
        }
    }
    return addIntent;
}

From source file:com.kmagic.solitaire.DrawMaster.java

/**
 * Draw regular cards with suits representing values on card
 * @param r application resources reference
 *///w  w  w .j a  v a 2  s  .c om
private void drawCards(final Resources r) {

    Paint cardFrontPaint = new Paint();
    Paint cardBorderPaint = new Paint();
    Bitmap[] suit = new Bitmap[4];
    Bitmap[] revSuit = new Bitmap[4];
    Bitmap[] smallSuit = new Bitmap[4];
    Bitmap redJack;
    Bitmap redQueen;
    Bitmap redKing;
    Bitmap blackJack;
    Bitmap blackQueen;
    Bitmap blackKing;
    Canvas canvas;
    final int width = Card.WIDTH;
    final int height = Card.HEIGHT;

    final String[] card_values = mResources.getStringArray(R.array.card_values);
    final Paint textPaintLeft = getTextPaint(mSuitsSize, Paint.Align.LEFT);
    Drawable drawable = ResourcesCompat.getDrawable(r, R.drawable.cardback, null);

    mCardHidden = Bitmap.createBitmap(Card.WIDTH, Card.HEIGHT, Bitmap.Config.ARGB_8888);
    canvas = new Canvas(mCardHidden);
    drawable.setBounds(0, 0, Card.WIDTH, Card.HEIGHT);
    drawable.draw(canvas);

    for (int i = 0; i < 4; i++) {
        suit[i] = Bitmap.createBitmap((int) mSuitsSize, (int) mSuitsSize, Bitmap.Config.ARGB_8888);
        revSuit[i] = Bitmap.createBitmap((int) mSuitsSize, (int) mSuitsSize, Bitmap.Config.ARGB_8888);
        canvas = new Canvas(suit[i]);
        drawSuit(i, canvas, mSuitsSize);
        canvas = new Canvas(revSuit[i]);
        canvas.rotate(180, mSuitsSize / 2, mSuitsSize / 2);
        drawSuit(i, canvas, mSuitsSize);
    }

    for (int i = 0; i < 4; i++) {
        smallSuit[i] = Bitmap.createBitmap((int) mSuitsSizeHalf, (int) mSuitsSizeHalf, Bitmap.Config.ARGB_8888);
        canvas = new Canvas(smallSuit[i]);
        drawSuit(i, canvas, mSuitsSizeHalf);
    }

    final int faceWidth = width - 20;
    final int faceHeight = height / 2 - (int) mSuitsSize;
    blackJack = createFaceBitmap(r, R.drawable.blackjack, faceWidth, faceHeight);
    blackQueen = createFaceBitmap(r, R.drawable.blackqueen, faceWidth, faceHeight);
    blackKing = createFaceBitmap(r, R.drawable.blackking, faceWidth, faceHeight);
    redJack = createFaceBitmap(r, R.drawable.redjack, faceWidth, faceHeight);
    redQueen = createFaceBitmap(r, R.drawable.redqueen, faceWidth, faceHeight);
    redKing = createFaceBitmap(r, R.drawable.redking, faceWidth, faceHeight);

    cardBorderPaint.setARGB(255, 0, 0, 0);
    cardFrontPaint.setARGB(255, 255, 255, 255);
    RectF rectf = new RectF();
    for (int suitIdx = 0; suitIdx < 4; suitIdx++) {
        for (int valueIdx = 0; valueIdx < 13; valueIdx++) {
            mCardBitmap[suitIdx * 13 + valueIdx] = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
            canvas = new Canvas(mCardBitmap[suitIdx * 13 + valueIdx]);
            drawCardBackground(rectf, canvas, cardBorderPaint, cardFrontPaint);
            drawCardValue(textPaintLeft, canvas, card_values[valueIdx], smallSuit[suitIdx], suitIdx);

            if (valueIdx >= 10) {
                canvas.drawBitmap(suit[suitIdx], mSuitsSize, mSuitsSize, mSuitPaint);
                canvas.drawBitmap(revSuit[suitIdx], width - mSuitsSize * 2, height - mSuitsSize * 2,
                        mSuitPaint);
            }

            final float height_7th = height / 7;
            final float height_9th = height / 9;
            // Columns
            final float width_5th = width / 5;
            final float[] suitX = { width_5th, width / 2 - mSuitsSizeHalf, width - width_5th - mSuitsSize };
            // Rows
            final float[] suitY = { height_7th, // row 1
                    height_9th * 3, // row 2
                    height - (height_9th * 4) - mSuitsSizeHalf / 2, // row 4
                    height - (height_7th * 2) }; // row 5
            // Center
            final float suitMidY = height / 2 - mSuitsSizeHalf;
            switch (valueIdx + 1) {
            case 1:
                canvas.drawBitmap(suit[suitIdx], suitX[1], suitMidY, mSuitPaint);
                break;
            case 2:
                canvas.drawBitmap(suit[suitIdx], suitX[1], suitY[0], mSuitPaint);
                canvas.drawBitmap(revSuit[suitIdx], suitX[1], suitY[3], mSuitPaint);
                break;
            case 3:
                canvas.drawBitmap(suit[suitIdx], suitX[1], suitY[0], mSuitPaint);
                canvas.drawBitmap(suit[suitIdx], suitX[1], suitMidY, mSuitPaint);
                canvas.drawBitmap(revSuit[suitIdx], suitX[1], suitY[3], mSuitPaint);
                break;
            case 4:
                canvas.drawBitmap(suit[suitIdx], suitX[0], suitY[0], mSuitPaint);
                canvas.drawBitmap(suit[suitIdx], suitX[2], suitY[0], mSuitPaint);
                canvas.drawBitmap(revSuit[suitIdx], suitX[0], suitY[3], mSuitPaint);
                canvas.drawBitmap(revSuit[suitIdx], suitX[2], suitY[3], mSuitPaint);
                break;
            case 5:
                canvas.drawBitmap(suit[suitIdx], suitX[0], suitY[0], mSuitPaint);
                canvas.drawBitmap(suit[suitIdx], suitX[2], suitY[0], mSuitPaint);
                canvas.drawBitmap(suit[suitIdx], suitX[1], suitMidY, mSuitPaint);
                canvas.drawBitmap(revSuit[suitIdx], suitX[0], suitY[3], mSuitPaint);
                canvas.drawBitmap(revSuit[suitIdx], suitX[2], suitY[3], mSuitPaint);
                break;
            case 6:
                canvas.drawBitmap(suit[suitIdx], suitX[0], suitY[0], mSuitPaint);
                canvas.drawBitmap(suit[suitIdx], suitX[2], suitY[0], mSuitPaint);
                canvas.drawBitmap(suit[suitIdx], suitX[0], suitMidY, mSuitPaint);
                canvas.drawBitmap(suit[suitIdx], suitX[2], suitMidY, mSuitPaint);
                canvas.drawBitmap(revSuit[suitIdx], suitX[0], suitY[3], mSuitPaint);
                canvas.drawBitmap(revSuit[suitIdx], suitX[2], suitY[3], mSuitPaint);
                break;
            case 7:
                canvas.drawBitmap(suit[suitIdx], suitX[0], suitY[0], mSuitPaint);
                canvas.drawBitmap(suit[suitIdx], suitX[2], suitY[0], mSuitPaint);
                canvas.drawBitmap(suit[suitIdx], suitX[0], suitMidY, mSuitPaint);
                canvas.drawBitmap(suit[suitIdx], suitX[2], suitMidY, mSuitPaint);
                canvas.drawBitmap(suit[suitIdx], suitX[1], (suitMidY + suitY[0]) / 2, mSuitPaint);
                canvas.drawBitmap(revSuit[suitIdx], suitX[0], suitY[3], mSuitPaint);
                canvas.drawBitmap(revSuit[suitIdx], suitX[2], suitY[3], mSuitPaint);
                break;
            case 8:
                canvas.drawBitmap(suit[suitIdx], suitX[0], suitY[0], mSuitPaint);
                canvas.drawBitmap(suit[suitIdx], suitX[2], suitY[0], mSuitPaint);
                canvas.drawBitmap(suit[suitIdx], suitX[0], suitMidY, mSuitPaint);
                canvas.drawBitmap(suit[suitIdx], suitX[2], suitMidY, mSuitPaint);
                canvas.drawBitmap(suit[suitIdx], suitX[1], (suitMidY + suitY[0]) / 2, mSuitPaint);
                canvas.drawBitmap(revSuit[suitIdx], suitX[0], suitY[3], mSuitPaint);
                canvas.drawBitmap(revSuit[suitIdx], suitX[2], suitY[3], mSuitPaint);
                canvas.drawBitmap(revSuit[suitIdx], suitX[1], (suitY[3] + suitMidY) / 2, mSuitPaint);
                break;
            case 9:
                for (int i = 0; i < 4; i++) {
                    canvas.drawBitmap(suit[suitIdx], suitX[(i % 2) * 2], suitY[i / 2], mSuitPaint);
                    canvas.drawBitmap(revSuit[suitIdx], suitX[(i % 2) * 2], suitY[i / 2 + 2], mSuitPaint);
                }
                canvas.drawBitmap(suit[suitIdx], suitX[1], suitMidY, mSuitPaint);
                break;
            case 10:
                for (int i = 0; i < 4; i++) {
                    canvas.drawBitmap(suit[suitIdx], suitX[(i % 2) * 2], suitY[i / 2], mSuitPaint);
                    canvas.drawBitmap(revSuit[suitIdx], suitX[(i % 2) * 2], suitY[i / 2 + 2], mSuitPaint);
                }
                canvas.drawBitmap(suit[suitIdx], suitX[1], (suitMidY + suitY[0]) / 2 - mSuitsSizeHalf,
                        mSuitPaint);
                canvas.drawBitmap(revSuit[suitIdx], suitX[1], (suitY[3] + suitMidY) / 2 + mSuitsSizeHalf / 2,
                        mSuitPaint);
                break;

            case Card.JACK:
                if ((suitIdx & 1) == 1) {
                    drawFaceBitmap(canvas, redJack, mSuitsSizeHalf, mSuitsSize, mSuitPaint);
                } else {
                    drawFaceBitmap(canvas, blackJack, mSuitsSizeHalf, mSuitsSize, mSuitPaint);
                }
                break;
            case Card.QUEEN:
                if ((suitIdx & 1) == 1) {
                    drawFaceBitmap(canvas, redQueen, mSuitsSizeHalf, mSuitsSize, mSuitPaint);
                } else {
                    drawFaceBitmap(canvas, blackQueen, mSuitsSizeHalf, mSuitsSize, mSuitPaint);
                }
                break;
            case Card.KING:
                if ((suitIdx & 1) == 1) {
                    drawFaceBitmap(canvas, redKing, mSuitsSizeHalf, mSuitsSize, mSuitPaint);
                } else {
                    drawFaceBitmap(canvas, blackKing, mSuitsSizeHalf, mSuitsSize, mSuitPaint);
                }
                break;
            }
        }
    }
}

From source file:com.google.android.apps.muzei.settings.ChooseSourceFragment.java

private Bitmap generateSourceImage(Drawable image) {
    Bitmap bitmap = Bitmap.createBitmap(mItemImageSize, mItemImageSize, Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(bitmap);
    mTempRectF.set(0, 0, mItemImageSize, mItemImageSize);
    canvas.drawOval(mTempRectF, mImageFillPaint);
    if (image != null) {
        canvas.saveLayer(0, 0, mItemImageSize, mItemImageSize, mAlphaPaint, Canvas.ALL_SAVE_FLAG);
        image.setBounds(0, 0, mItemImageSize, mItemImageSize);
        image.draw(canvas);//  w w  w  .j  a  v a2  s . c  o  m
        canvas.restore();
    }
    return bitmap;
}