Example usage for android.support.v4.content.res ResourcesCompat getDrawable

List of usage examples for android.support.v4.content.res ResourcesCompat getDrawable

Introduction

In this page you can find the example usage for android.support.v4.content.res ResourcesCompat getDrawable.

Prototype

public static Drawable getDrawable(Resources resources, int i, Theme theme) throws NotFoundException 

Source Link

Usage

From source file:com.mifos.mifosxdroid.online.clientdetails.ClientDetailsFragment.java

@Override
public void showClientInformation(Client client) {
    if (client != null) {
        setToolbarTitle(getString(R.string.client) + " - " + client.getLastname());
        isClientActive = client.isActive();
        getActivity().invalidateOptionsMenu();
        if (!client.isActive()) {
            llBottomPanel.setVisibility(VISIBLE);
        }//w  w  w . ja v a 2 s  . c  o m
        tv_fullName.setText(client.getDisplayName());
        tv_accountNumber.setText(client.getAccountNo());
        tv_externalId.setText(client.getExternalId());
        if (TextUtils.isEmpty(client.getAccountNo()))
            rowAccount.setVisibility(GONE);

        if (TextUtils.isEmpty(client.getExternalId()))
            rowExternal.setVisibility(GONE);

        try {
            String dateString = Utils.getStringOfDate(getActivity(), client.getActivationDate());
            tv_activationDate.setText(dateString);

            if (TextUtils.isEmpty(dateString))
                rowActivation.setVisibility(GONE);

        } catch (IndexOutOfBoundsException e) {
            Toast.makeText(getActivity(), getString(R.string.error_client_inactive), Toast.LENGTH_SHORT).show();
            tv_activationDate.setText("");
        }
        tv_office.setText(client.getOfficeName());

        if (TextUtils.isEmpty(client.getOfficeName()))
            rowOffice.setVisibility(GONE);

        if (client.isImagePresent()) {
            loadClientProfileImage();
        } else {
            iv_clientImage.setImageDrawable(
                    ResourcesCompat.getDrawable(getResources(), R.drawable.ic_launcher, null));

            pb_imageProgressBar.setVisibility(GONE);
        }

        iv_clientImage.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View view) {
                PopupMenu menu = new PopupMenu(getActivity(), view);
                menu.getMenuInflater().inflate(R.menu.client_image_popup, menu.getMenu());
                menu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                    @Override
                    public boolean onMenuItemClick(MenuItem menuItem) {
                        switch (menuItem.getItemId()) {
                        case R.id.client_image_capture:
                            captureClientImage();
                            break;
                        case R.id.client_image_remove:
                            mClientDetailsPresenter.deleteClientImage(clientId);
                            break;
                        default:
                            Log.e("ClientDetailsFragment", "Unrecognized " + "client " + "image menu item");
                        }
                        return true;
                    }
                });
                menu.show();
            }
        });
        //inflateClientsAccounts();
    }
}

From source file:com.makotogo.mobile.hoursdroid.HoursDetailFragment.java

private void configureBreakTime(View view) {
    TextView breakTimeTextView = (TextView) view.findViewById(R.id.textview_hours_detail_break);
    breakTimeTextView.setEnabled(isThisHoursRecordNotActive());
    if (isThisHoursRecordActive()) {
        breakTimeTextView/* w w  w.  j  av a2s  . com*/
                .setBackground(ResourcesCompat.getDrawable(getResources(), R.drawable.no_border, null));
    } else {
        breakTimeTextView
                .setBackground(ResourcesCompat.getDrawable(getResources(), R.drawable.rounded_border, null));
    }
    breakTimeTextView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            FragmentManager fragmentManager = getFragmentManager();
            Integer minutes = renderStorageBreakForEdit(mHours.getBreak().intValue());
            Log.d(TAG, "Number of minutes: " + minutes);
            // Max minutes can at most be number of minutes diff between end and begin
            Integer maxMinutes = (int) (mHours.getEnd().getTime() - mHours.getBegin().getTime()) / 60000;
            NumberPickerFragment numberPickerFragment = FragmentFactory.createNumberPickerFragment(minutes,
                    maxMinutes, "Break Time");
            numberPickerFragment.setTargetFragment(HoursDetailFragment.this, REQUEST_BREAK);
            numberPickerFragment.show(fragmentManager, NumberPickerFragment.DIALOG_TAG);
        }
    });
    breakTimeTextView.setText(renderTimePeriodForDisplay(mHours.getBreak()));
}

From source file:in.andres.kandroid.ui.TaskEditActivity.java

private void setButtonColor() {
    if (kanboardColors == null || defaultColor == null)
        return;/* w  ww  .j a v a2  s.co  m*/

    btnColor.setEnabled(true);

    Drawable dot = ResourcesCompat.getDrawable(getResources(), R.drawable.shape_circle, null);
    if (colorId != null) {
        dot.setColorFilter(kanboardColors.get(colorId).getBackground(), PorterDuff.Mode.MULTIPLY);
        btnColor.setText(
                Utils.fromHtml(getString(R.string.taskedit_color, kanboardColors.get(colorId).getName())));
    } else {
        dot.setColorFilter(kanboardColors.get(defaultColor).getBackground(), PorterDuff.Mode.MULTIPLY);
        btnColor.setText(
                Utils.fromHtml(getString(R.string.taskedit_color, kanboardColors.get(defaultColor).getName())));
    }
    btnColor.setCompoundDrawablesRelativeWithIntrinsicBounds(dot, null, null, null);
}

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

/**
 * Create a face card bitmap from resources
 * @param r application resources reference
 * @param id drawable resource id (R.drawable.id)
 * @param width width of the bitmap//from  www  .j  a  va 2 s.  co  m
 * @param height height of the bitmap
 * @return bitmap of the face card resource
 */
private Bitmap createFaceBitmap(final Resources r, final int id, final int width, final int height) {
    Drawable drawable = ResourcesCompat.getDrawable(r, id, null);
    Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(bitmap);
    drawable.setBounds(0, 0, width, height);
    drawable.draw(canvas);
    return (bitmap);
}

From source file:org.deviceconnect.android.manager.core.util.DConnectUtil.java

/**
 * ??????.//from  w ww  . j  ava2 s. com
 *
 * @param context     
 * @param packageName ???
 * @param iconId      ?ID
 * @return ??
 */
public static Drawable loadPluginIcon(final Context context, final String packageName, final Integer iconId) {
    PackageManager pkgMgr = context.getPackageManager();
    Drawable icon;
    if (iconId != null) {
        icon = ResourcesCompat.getDrawable(context.getResources(), iconId, null);
    } else {
        try {
            ApplicationInfo info = pkgMgr.getApplicationInfo(packageName, 0);
            icon = pkgMgr.getApplicationIcon(info.packageName);
        } catch (PackageManager.NameNotFoundException e) {
            icon = null;
            if (BuildConfig.DEBUG) {
                Log.d("Manager", "Icon is not found.");
            }
        }
    }
    return icon;
}

From source file:com.makotogo.mobile.hoursdroid.HoursDetailFragment.java

private void configureBilled(View view) {
    CheckBox billedCheckBox = (CheckBox) view.findViewById(R.id.checkbox_hours_detail_billed);
    billedCheckBox.setEnabled(isThisHoursRecordNotActive());
    billedCheckBox.setChecked(mHours.isBilled());
    if (isThisHoursRecordActive()) {
        billedCheckBox.setBackground(ResourcesCompat.getDrawable(getResources(), R.drawable.no_border, null));
    } else {//from  w  ww  .  j  av a2 s.c  om
        billedCheckBox
                .setBackground(ResourcesCompat.getDrawable(getResources(), R.drawable.rounded_border, null));
    }
    billedCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            mHours.setBilled(isChecked);
        }
    });
}

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

/**
 * Draw regular cards with suits representing values on card
 * @param r application resources reference
 *//*from  w w w.  j ava2s  . c  o m*/
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:emu.project64.GalleryActivity.java

private void StartGameMenu(boolean ShowSettings) {
    File InstantSaveDir = new File(
            NativeExports.SettingsLoadString(SettingsID.Directory_InstantSave.getValue()));
    final File GameSaveDir = new File(InstantSaveDir,
            NativeExports.SettingsLoadString(SettingsID.Game_UniqueSaveDir.getValue()));

    class Item {/*w  ww.  ja v a 2s  .c  o  m*/
        public final String text;
        public final int icon;

        public Item(String text, Integer icon) {
            this.text = text;
            this.icon = icon;
        }

        @Override
        public String toString() {
            return text;
        }
    }

    List<Item> menuItemLst = new ArrayList<Item>();
    if (ShouldShowSupportWindow()) {
        menuItemLst.add(new Item("Resume from Native save", R.drawable.ic_lock));
        menuItemLst.add(new Item("Resume from Auto save", R.drawable.ic_lock));
    } else {
        menuItemLst.add(new Item("Resume from Native save", R.drawable.ic_controller));
        menuItemLst.add(new Item("Resume from Auto save", R.drawable.ic_play));
    }
    menuItemLst.add(new Item("Restart", R.drawable.ic_refresh));
    if (ShowSettings && !NativeExports.SettingsLoadBool(SettingsID.UserInterface_BasicMode.getValue())) {
        menuItemLst.add(new Item("Settings", R.drawable.ic_sliders));
    }

    Item[] itemsDynamic = new Item[menuItemLst.size()];
    itemsDynamic = menuItemLst.toArray(itemsDynamic);

    final Item[] items = itemsDynamic;
    final File SaveDir = GameSaveDir;
    ListAdapter adapter = new ArrayAdapter<Item>(this, android.R.layout.select_dialog_item, android.R.id.text1,
            items) {
        public View getView(int position, View convertView, android.view.ViewGroup parent) {
            //Use super class to create the View
            View v = super.getView(position, convertView, parent);
            TextView tv = (TextView) v.findViewById(android.R.id.text1);

            // Get Drawable icon
            Drawable d = items[position].icon != 0
                    ? ResourcesCompat.getDrawable(getResources(), items[position].icon, null)
                    : null;
            tv.setTextColor(Color.parseColor("#FFFFFF"));
            if (d != null) {
                d.setColorFilter(Color.parseColor("#FFFFFF"), android.graphics.PorterDuff.Mode.SRC_ATOP);
            }
            if (!isEnabled(position)) {
                tv.setTextColor(Color.parseColor("#555555"));
                if (d != null) {
                    d.setColorFilter(Color.parseColor("#555555"), android.graphics.PorterDuff.Mode.SRC_ATOP);
                }
            }

            //Put the image on the TextView
            tv.setCompoundDrawablesWithIntrinsicBounds(d, null, null, null);

            //Add margin between image and text (support various screen densities)
            int dp5 = (int) (5 * getResources().getDisplayMetrics().density + 0.5f);
            tv.setCompoundDrawablePadding(dp5);

            return v;
        }

        @Override
        public boolean areAllItemsEnabled() {
            return true;
        }

        @Override
        public boolean isEnabled(int position) {
            if (position == 1 && HasAutoSave(SaveDir) == false) {
                return false;
            }
            if (position == 2 && SaveDir.exists() == false) {
                return false;
            }
            return true;
        }
    };

    final Context finalContext = this;
    final Activity finalActivity = this;
    AlertDialog.Builder GameMenu = new AlertDialog.Builder(finalContext);
    GameMenu.setTitle(NativeExports.SettingsLoadString(SettingsID.Game_GoodName.getValue()));
    GameMenu.setAdapter(adapter, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int item) {
            if ((item == 0 || item == 1) && ShouldShowSupportWindow()) {
                ShowSupportWindow();
                return;
            }
            if (item == 0) {
                launchGameActivity();
            } else if (item == 1) {
                NativeExports.SettingsSaveDword(SettingsID.Game_CurrentSaveState.getValue(), 0);
                NativeExports.ExternalEvent(SystemEvent.SysEvent_LoadMachineState.getValue());
                launchGameActivity();
            } else if (item == 2) {
                AlertDialog.Builder ResetPrompt = new AlertDialog.Builder(finalContext);
                ResetPrompt.setTitle(getText(R.string.confirmResetGame_title))
                        .setMessage(getText(R.string.confirmResetGame_message))
                        .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                                String[] entries = SaveDir.list();
                                for (String s : entries) {
                                    File currentFile = new File(SaveDir.getPath(), s);
                                    currentFile.delete();
                                }
                                SaveDir.delete();
                                NativeExports.UISettingsSaveDword(UISettingID.Game_RunCount.getValue(), 0);
                                launchGameActivity();
                            }
                        }).setNegativeButton(android.R.string.cancel, this).show();
            } else if (item == 3) {
                Intent SettingsIntent = new Intent(finalContext, GameSettingsActivity.class);
                startActivityForResult(SettingsIntent, RC_SETTINGS);
            }
        }
    });
    GameMenu.show();
}

From source file:com.hss01248.toast.supertoast.SuperActivityToast.java

/**
 * Modify various attributes of the SuperActivityToast before being shown.
 *///from   ww  w. jav a 2  s .c  om
@Override
protected void onPrepareShow() {
    super.onPrepareShow(); // This will take care of many modifications

    final FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(this.mStyle.width,
            this.mStyle.height);

    // Make some type specific tweaks
    switch (this.mStyle.type) {

    case Style.TYPE_STANDARD:
        break;

    case Style.TYPE_BUTTON:
        // If NOT Lollipop frame, give padding on each side
        if (this.mStyle.frame != Style.FRAME_LOLLIPOP) {
            this.mStyle.width = FrameLayout.LayoutParams.MATCH_PARENT;
            this.mStyle.xOffset = BackgroundUtils.convertToDIP(24);
            this.mStyle.yOffset = BackgroundUtils.convertToDIP(24);
        }

        // On a big screen device, show the SuperActivityToast on the bottom left
        if ((this.mContext.getResources().getConfiguration().screenLayout
                & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE) {
            this.mStyle.width = BackgroundUtils.convertToDIP(568);
            this.mStyle.gravity = Gravity.BOTTOM | Gravity.START;
        }

        // Set up the Button attributes
        final Button button = (Button) this.mView.findViewById(R.id.button);
        button.setBackgroundResource(BackgroundUtils.getButtonBackgroundResource(this.mStyle.frame));
        button.setText(this.mStyle.buttonText != null ? this.mStyle.buttonText.toUpperCase() : "");
        button.setTypeface(button.getTypeface(), this.mStyle.buttonTypefaceStyle);
        button.setTextColor(this.mStyle.buttonTextColor);
        button.setTextSize(this.mStyle.buttonTextSize);

        if (this.mStyle.frame != Style.FRAME_LOLLIPOP) {
            this.mView.findViewById(R.id.divider).setBackgroundColor(this.mStyle.buttonDividerColor);

            // Set an icon resource if desired
            if (this.mStyle.buttonIconResource > 0) {
                button.setCompoundDrawablesWithIntrinsicBounds(
                        ResourcesCompat.getDrawable(mContext.getResources(), this.mStyle.buttonIconResource,
                                mContext.getTheme()),
                        null, null, null);
            }
        }

        if (this.mOnButtonClickListener != null) {
            button.setOnClickListener(new View.OnClickListener() {

                short clicked = 0;

                @Override
                public void onClick(View view) {
                    // Prevent button spamming
                    if (clicked > 0)
                        return;
                    clicked++;

                    mOnButtonClickListener.onClick(view, getButtonToken());
                    SuperActivityToast.this.dismiss();
                }
            });
        }
        break;

    case Style.TYPE_PROGRESS_CIRCLE:
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            this.mProgressBar.setIndeterminateTintMode(PorterDuff.Mode.SRC_IN);
            this.mProgressBar.setIndeterminateTintList(ColorStateList.valueOf(this.mStyle.progressBarColor));
        }
        break;

    case Style.TYPE_PROGRESS_BAR:
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            this.mProgressBar.setIndeterminateTintMode(PorterDuff.Mode.SRC_IN);
            this.mProgressBar.setIndeterminateTintList(ColorStateList.valueOf(this.mStyle.progressBarColor));
            this.mProgressBar.setProgressTintMode(PorterDuff.Mode.SRC_IN);
            this.mProgressBar.setProgressTintList(ColorStateList.valueOf(this.mStyle.progressBarColor));
        }
        this.mProgressBar.setProgress(this.mStyle.progress);
        this.mProgressBar.setMax(this.mStyle.progressMax);
        this.mProgressBar.setIndeterminate(this.mStyle.progressIndeterminate);
        break;
    }

    layoutParams.width = this.mStyle.width;
    layoutParams.height = this.mStyle.height;
    layoutParams.gravity = this.mStyle.gravity;
    layoutParams.bottomMargin = this.mStyle.yOffset;
    layoutParams.topMargin = this.mStyle.yOffset;
    layoutParams.leftMargin = this.mStyle.xOffset;
    layoutParams.rightMargin = this.mStyle.xOffset;

    this.mView.setLayoutParams(layoutParams);

    // Set up touch to dismiss
    if (this.mStyle.touchToDismiss) {
        mView.setOnTouchListener(new View.OnTouchListener() {

            int timesTouched;

            @Override
            public boolean onTouch(View v, MotionEvent motionEvent) {
                // Prevent repetitive touch events
                if (timesTouched == 0 && motionEvent.getAction() == MotionEvent.ACTION_DOWN)
                    dismiss();
                timesTouched++;

                return false; // Do not consume the event in case a Button listener is set
            }
        });
    } else {
        // Make sure no listener is set
        mView.setOnTouchListener(null);
    }
}

From source file:com.hss01248.lib.supertoast.SuperActivityToast.java

/**
 * Modify various attributes of the SuperActivityToast before being shown.         
 *//*from   ww  w  . ja va2  s.  co m*/
@Override
protected void onPrepareShow() {
    super.onPrepareShow(); // This will take care of many modifications 

    final FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(this.mStyle.width,
            this.mStyle.height);

    // Make some type specific tweaks
    switch (this.mStyle.type) {

    case Style.TYPE_STANDARD:
        break;

    case Style.TYPE_BUTTON:
        // If NOT Lollipop frame, give padding on each side
        if (this.mStyle.frame != Style.FRAME_LOLLIPOP) {
            this.mStyle.width = FrameLayout.LayoutParams.MATCH_PARENT;
            this.mStyle.xOffset = BackgroundUtils.convertToDIP(24);
            this.mStyle.yOffset = BackgroundUtils.convertToDIP(24);
        }

        // On a big screen device, show the SuperActivityToast on the bottom left
        if ((this.mContext.getResources().getConfiguration().screenLayout
                & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE) {
            this.mStyle.width = BackgroundUtils.convertToDIP(568);
            this.mStyle.gravity = Gravity.BOTTOM | Gravity.START;
        }

        // Set up the Button attributes
        final Button button = (Button) this.mView.findViewById(R.id.button);
        button.setBackgroundResource(BackgroundUtils.getButtonBackgroundResource(this.mStyle.frame));
        button.setText(this.mStyle.buttonText != null ? this.mStyle.buttonText.toUpperCase() : "");
        button.setTypeface(button.getTypeface(), this.mStyle.buttonTypefaceStyle);
        button.setTextColor(this.mStyle.buttonTextColor);
        button.setTextSize(this.mStyle.buttonTextSize);

        if (this.mStyle.frame != Style.FRAME_LOLLIPOP) {
            this.mView.findViewById(R.id.divider).setBackgroundColor(this.mStyle.buttonDividerColor);

            // Set an icon resource if desired
            if (this.mStyle.buttonIconResource > 0) {
                button.setCompoundDrawablesWithIntrinsicBounds(
                        ResourcesCompat.getDrawable(mContext.getResources(), this.mStyle.buttonIconResource,
                                mContext.getTheme()),
                        null, null, null);
            }
        }

        if (this.mOnButtonClickListener != null) {
            button.setOnClickListener(new View.OnClickListener() {

                short clicked = 0;

                @Override
                public void onClick(View view) {
                    // Prevent button spamming
                    if (clicked > 0)
                        return;
                    clicked++;

                    mOnButtonClickListener.onClick(view, getButtonToken());
                    SuperActivityToast.this.dismiss();
                }
            });
        }
        break;

    case Style.TYPE_PROGRESS_CIRCLE:
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            this.mProgressBar.setIndeterminateTintMode(PorterDuff.Mode.SRC_IN);
            this.mProgressBar.setIndeterminateTintList(ColorStateList.valueOf(this.mStyle.progressBarColor));
        }
        break;

    case Style.TYPE_PROGRESS_BAR:
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            this.mProgressBar.setIndeterminateTintMode(PorterDuff.Mode.SRC_IN);
            this.mProgressBar.setIndeterminateTintList(ColorStateList.valueOf(this.mStyle.progressBarColor));
            this.mProgressBar.setProgressTintMode(PorterDuff.Mode.SRC_IN);
            this.mProgressBar.setProgressTintList(ColorStateList.valueOf(this.mStyle.progressBarColor));
        }
        this.mProgressBar.setProgress(this.mStyle.progress);
        this.mProgressBar.setMax(this.mStyle.progressMax);
        this.mProgressBar.setIndeterminate(this.mStyle.progressIndeterminate);
        break;
    }

    layoutParams.width = this.mStyle.width;
    layoutParams.height = this.mStyle.height;
    layoutParams.gravity = this.mStyle.gravity;
    layoutParams.bottomMargin = this.mStyle.yOffset;
    layoutParams.topMargin = this.mStyle.yOffset;
    layoutParams.leftMargin = this.mStyle.xOffset;
    layoutParams.rightMargin = this.mStyle.xOffset;

    this.mView.setLayoutParams(layoutParams);

    // Set up touch to dismiss
    if (this.mStyle.touchToDismiss) {
        mView.setOnTouchListener(new View.OnTouchListener() {

            int timesTouched;

            @Override
            public boolean onTouch(View v, MotionEvent motionEvent) {
                // Prevent repetitive touch events
                if (timesTouched == 0 && motionEvent.getAction() == MotionEvent.ACTION_DOWN)
                    dismiss();
                timesTouched++;

                return false; // Do not consume the event in case a Button listener is set
            }
        });
    } else {
        // Make sure no listener is set
        mView.setOnTouchListener(null);
    }
}