@Override protected void onDraw(Canvas canvas) { if (mSecondaryText != null){ //draw the text in the upper corner mSecondaryPaint.setColor(mSecondaryTextColor); mButtonHeight = getHeight(); // - getPaddingTop() - getPaddingBottom(); mButtonWidth = getWidth(); // - getPaddingLeft() - getPaddingRight(); mSecTextWidth = mSecondaryPaint.measureText(mSecondaryText); mSecAdditionalXOffset = getContext().getResources() .getDimensionPixelSize(R.dimen.button_ellipses_additional_offset_x); mSecTextHeight = mSecondaryPaint.getTextSize(); mSecAdditionalYOffset = getContext().getResources() .getDimensionPixelSize(R.dimen.button_ellipses_additional_offset_y); findSecondaryTextCoordinates(); canvas.drawText(mSecondaryText, 0, mSecondaryText.length(), mSecXCord, mSecYCord, mSecondaryPaint); } drawMainText(canvas); }
/** * Overloaded method, will be called by onDraw in SecondaryTextButton */ @Override protected void drawMainText(Canvas canvas) { String text = getText().toString(); if (text.contains("/")){ getPaint().setColor(getCurrentTextColor()); if (mUnderline) getPaint().setUnderlineText(true); canvas.drawText(mTopText, 0, mTopText.length(), mTopTextX, mTopTextY, getPaint()); getPaint().setUnderlineText(false); canvas.drawText(mBotText, 0, mBotText.length(), mBotTextX, mBotTextY, getPaint()); if (text.contains(mArrowText)){ canvas.drawText(mArrowText, 0, mArrowText.length(), mArrowTextX, mArrowTextY, getPaint()); } } else super.drawMainText(canvas); }