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:org.totschnig.myexpenses.util.Utils.java

public static Bitmap getTintedBitmapForTheme(Context context, int drawableResId, int themeResId) {
    Context wrappedContext = new ContextThemeWrapper(context, themeResId);
    Drawable d = AppCompatDrawableManager.get().getDrawable(wrappedContext, drawableResId);
    Bitmap b = Bitmap.createBitmap(d.getIntrinsicWidth(), d.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
    Canvas c = new Canvas(b);
    d.setBounds(0, 0, c.getWidth(), c.getHeight());
    d.draw(c);//from   ww  w.  j ava2  s .c om
    return b;
}

From source file:com.example.google.walkway.MainActivity.java

private Bitmap getDotMarkerBitmap() {
    Log.d(LOG_TAG, "getDotMarkerBitmap()");

    if (mDotMarkerBitmap == null || mDotMarkerBitmap.isRecycled()) {
        // Create a marker bitmap from the dot shape drawable.
        int px = getResources().getDimensionPixelSize(R.dimen.map_dot_marker_size);
        mDotMarkerBitmap = Bitmap.createBitmap(px, px, Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(mDotMarkerBitmap);
        Drawable shape = getResources().getDrawable(R.drawable.map_dot_red);
        shape.setBounds(0, 0, mDotMarkerBitmap.getWidth(), mDotMarkerBitmap.getHeight());
        shape.draw(canvas);//from   ww  w  .ja v a2 s.  c  o m
    }

    return mDotMarkerBitmap;
}

From source file:org.gluu.super_gluu.app.GluuMainActivity.java

private void setBackArrowForButton(Button button) {
    Drawable img = ContextCompat.getDrawable(this, R.drawable.back_arrow);
    img.setBounds(0, 0, 26, 26);
    button.setCompoundDrawables(img, null, null, null);
}

From source file:am.widget.tabstrip.HorizontalLinearTabStripLayout.java

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    final int count = getChildCount();
    if (mCenter == null && !isShowingDividers() && count <= 0)
        return;/* www  .j  av  a2  s.c  o m*/
    final int paddingStart = ViewCompat.getPaddingStart(this);
    final int paddingTop = getPaddingTop();
    final int paddingBottom = getPaddingBottom();
    final int childWidth = mChildWidth;
    final boolean show = isShowingDividers();
    final Drawable dd = mDivider;
    final int divider = show ? dd.getIntrinsicWidth() : 0;
    final int padding = mDividerPadding;
    int start = paddingStart;
    if (show)
        dd.setBounds(1, paddingTop + padding, divider + 1, getHeight() - paddingBottom - padding);
    if (count == 1) {
        if (show && (mShowDividers & SHOW_DIVIDER_BEGINNING) == SHOW_DIVIDER_BEGINNING) {
            canvas.save();
            canvas.translate(start, 0);
            dd.draw(canvas);
            canvas.restore();
            start += divider;
        }
        start += childWidth;
        if (show && (mShowDividers & SHOW_DIVIDER_END) == SHOW_DIVIDER_END) {
            canvas.save();
            canvas.translate(start, 0);
            dd.draw(canvas);
            canvas.restore();
        }
    } else {
        final boolean middle = (mShowDividers & SHOW_DIVIDER_MIDDLE) == SHOW_DIVIDER_MIDDLE;
        for (int i = 0; i < count; i++) {
            if (i == 0) {
                if (show && (mShowDividers & SHOW_DIVIDER_BEGINNING) == SHOW_DIVIDER_BEGINNING) {
                    canvas.save();
                    canvas.translate(start, 0);
                    dd.draw(canvas);
                    canvas.restore();
                    start += divider;
                }
                start += childWidth;
            } else if (i == count - 1) {
                if (show && middle) {
                    canvas.save();
                    canvas.translate(start, 0);
                    dd.draw(canvas);
                    canvas.restore();
                    start += divider;
                }
                start += childWidth;
                if (show && (mShowDividers & SHOW_DIVIDER_END) == SHOW_DIVIDER_END) {
                    start = getWidth() - ViewCompat.getPaddingEnd(this) - divider;
                    canvas.save();
                    canvas.translate(start, 0);
                    dd.draw(canvas);
                    canvas.restore();
                    break;
                }
            } else {
                if (count % 2 == 0 && count / 2 == i && mCenter != null) {
                    if (show && middle && mCenterAsItem) {
                        canvas.save();
                        canvas.translate(start, 0);
                        dd.draw(canvas);
                        canvas.restore();
                        start += divider;
                    }
                    final Drawable center = mCenter;
                    final int p = mCenterPadding;
                    center.setBounds(0, paddingTop + p, center.getIntrinsicWidth(),
                            getHeight() - paddingBottom - p);
                    canvas.save();
                    canvas.translate(start, 0);
                    center.draw(canvas);
                    canvas.restore();
                    start += center.getIntrinsicWidth();
                    if (show && middle && mCenterAsItem) {
                        canvas.save();
                        canvas.translate(start, 0);
                        dd.draw(canvas);
                        canvas.restore();
                        start += divider;
                    }
                } else {
                    if (show && middle) {
                        canvas.save();
                        canvas.translate(start, 0);
                        dd.draw(canvas);
                        canvas.restore();
                        start += divider;
                    }
                }
                start += childWidth;
            }
        }
    }
}

From source file:com.github.magiepooh.recycleritemdecoration.HorizontalItemDecoration.java

@Override
public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
    int top = parent.getPaddingTop();
    int bottom = parent.getHeight() - parent.getPaddingBottom();
    boolean isReverse = ((LinearLayoutManager) parent.getLayoutManager()).getReverseLayout();

    int childCount = parent.getChildCount();
    for (int i = 0; i <= childCount - 1; i++) {
        View child = parent.getChildAt(i);
        int childViewType = parent.getLayoutManager().getItemViewType(child);
        RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child.getLayoutParams();

        // last position
        if (isLastPosition(child, parent)) {
            if (mLastDrawable != null) {
                int left, right;
                if (isReverse) {
                    right = child.getLeft() - params.leftMargin;
                    left = right - mLastDrawable.getIntrinsicWidth();
                } else {
                    left = child.getRight() + params.rightMargin;
                    right = left + mLastDrawable.getIntrinsicWidth();
                }/* w  w  w .j  a v a  2s  . c o  m*/
                mLastDrawable.setBounds(left, top, right, bottom);
                mLastDrawable.draw(c);
            }
            return;
        }

        // specific view type
        Drawable drawable = mDividerViewTypeMap.get(childViewType);
        if (drawable != null) {
            int left, right;
            if (isReverse) {
                right = child.getLeft() - params.leftMargin;
                left = right - drawable.getIntrinsicWidth();
            } else {
                left = child.getRight() + params.rightMargin;
                right = left + drawable.getIntrinsicWidth();
            }
            drawable.setBounds(left, top, right, bottom);
            drawable.draw(c);
        }

        // first position
        if (isFirstPosition(child, parent)) {
            if (mFirstDrawable != null) {
                int left, right;
                if (isReverse) {
                    left = child.getRight() + params.rightMargin;
                    right = left + mFirstDrawable.getIntrinsicWidth();
                } else {
                    right = child.getLeft() - params.leftMargin;
                    left = right - mFirstDrawable.getIntrinsicWidth();
                }
                mFirstDrawable.setBounds(left, top, right, bottom);
                mFirstDrawable.draw(c);
            }
        }
    }
}

From source file:com.smartcodeunited.demo.bluetooth.activity.BaseActivity.java

private Drawable getCompondDrawable(int drawableResId) {
    if (drawableResId <= 0) {
        return null;
    }/*from   w w w.  jav a 2  s  . co m*/
    Drawable drawable = getResources().getDrawable(drawableResId);
    if (drawable != null) {
        int width = drawable.getIntrinsicWidth();
        int height = drawable.getIntrinsicHeight();
        if (height > drawableHeight) {
            drawableHeight = height;
        }
        drawable.setBounds(0, 0, width, height);
    }
    return drawable;
}

From source file:org.totschnig.myexpenses.dialog.HelpDialogFragment.java

@Override
public Drawable getDrawable(String name) {
    int resId;/*from   w ww.  j av  a 2  s.  co  m*/
    Resources.Theme theme = getActivity().getTheme();
    try {
        if (name.startsWith("?")) {
            name = name.substring(1);
            switch (name) {
            case "calcIcon":
                resId = R.drawable.ic_action_equal;
                break;
            default:
                TypedValue value = new TypedValue();
                theme.resolveAttribute(resolve(name, "attr"), value, true);
                resId = value.resourceId;
            }
        } else {
            if (name.startsWith("android:")) {
                name = name.substring(8);
                resId = resolveSystem(name, "drawable");
            } else {
                resId = resolve(name, "drawable");
            }
        }
        @SuppressWarnings("deprecation")
        Drawable d = android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP
                ? getResources().getDrawable(resId, getActivity().getTheme())
                : getResources().getDrawable(resId);
        if (d != null) {
            d.setBounds(0, 0, d.getIntrinsicWidth() / 2, d.getIntrinsicHeight() / 2);
        }
        return d;
    } catch (NotFoundException e) {
        return null;
    }

}

From source file:com.marshalchen.common.uimodule.modifysys.PagerTitleStrip.java

SpannableString changeSpanString(String temp, int position, int color) {

    try {/*from w ww.j a  va2s  .c  o  m*/
        temp = temp.replaceAll("-", " - ");

        SpannableString ss = new SpannableString(temp);
        Matrix matrix = new Matrix();

        matrix.postRotate(180);

        Bitmap bitmaporg = BitmapFactory.decodeResource(getResources(), R.drawable.ico_arrow2x);
        if (color == 2) {
            bitmaporg = BitmapFactory.decodeResource(getResources(), R.drawable.ico_arrow_grey2x);
        }
        Bitmap resizedBitmap = Bitmap.createBitmap(bitmaporg, 0, 0, bitmaporg.getWidth(), bitmaporg.getHeight(),
                matrix, true);
        BitmapDrawable bmd = new BitmapDrawable(getResources(), resizedBitmap);
        BitmapDrawable bm = new BitmapDrawable(getResources(), bitmaporg);
        Drawable drawable = position == 0 ? bm : bmd;
        drawable.setBounds(0, 0, drawable.getIntrinsicWidth() * 12 / 10,
                drawable.getIntrinsicHeight() * 12 / 10);
        ImageSpan imageSpan = new ImageSpan(drawable, ImageSpan.ALIGN_BASELINE);

        ss.setSpan(imageSpan, temp.indexOf("-"), temp.indexOf("-") + 1, Spanned.SPAN_INCLUSIVE_INCLUSIVE);
        return ss;
    } catch (Exception e) {
        e.printStackTrace();
        Logs.e(e, "");
        return null;
    }
}

From source file:com.camnter.easyrecyclerviewsidebar.EasyRecyclerViewSidebar.java

private Bitmap drawableToBitmap(Drawable drawable) {
    if (drawable instanceof BitmapDrawable)
        ((BitmapDrawable) drawable).getBitmap();
    int width = drawable.getIntrinsicWidth();
    int height = drawable.getIntrinsicHeight();
    Bitmap bitmap = this.createBitmapSafely(width, height, Bitmap.Config.ARGB_8888, 1);
    Canvas canvas = new Canvas(bitmap);
    drawable.setBounds(0, 0, width, height);
    drawable.draw(canvas);/*from  w  w  w. jav a 2s  .c  om*/
    return bitmap;
}

From source file:org.mozilla.gecko.toolbar.SiteIdentityPopup.java

@Override
public void show() {
    if (mSiteIdentity == null) {
        Log.e(LOGTAG, "Can't show site identity popup for undefined state");
        return;/*from   w  w  w  . ja  v  a2 s.  co m*/
    }

    // about: has an unknown SiteIdentity in code, but showing "This
    // site's identity is unknown" is misleading! So don't show a popup.
    final Tab selectedTab = Tabs.getInstance().getSelectedTab();
    if (selectedTab != null && AboutPages.isAboutPage(selectedTab.getURL())) {
        Log.d(LOGTAG, "We don't show site identity popups for about: pages");
        return;
    }

    updateIdentity(mSiteIdentity);

    final TrackingMode trackingMode = mSiteIdentity.getTrackingMode();
    if (trackingMode != TrackingMode.UNKNOWN) {
        addTrackingContentNotification(trackingMode == TrackingMode.TRACKING_CONTENT_BLOCKED);
    }

    try {
        addSelectLoginDoorhanger(selectedTab);
    } catch (JSONException e) {
        Log.e(LOGTAG, "Error adding selectLogin doorhanger", e);
    }

    mTitle.setText(selectedTab.getBaseDomain());
    final Bitmap favicon = selectedTab.getFavicon();
    if (favicon != null) {
        final Drawable faviconDrawable = new BitmapDrawable(mResources, favicon);
        final int dimen = (int) mResources.getDimension(R.dimen.browser_toolbar_favicon_size);
        faviconDrawable.setBounds(0, 0, dimen, dimen);

        mTitle.setCompoundDrawables(faviconDrawable, null, null, null);
        mTitle.setCompoundDrawablePadding(
                (int) mContext.getResources().getDimension(R.dimen.doorhanger_drawable_padding));
    }

    showDividers();

    super.show();
}