public MaterialDrawableBuilder setAlpha(int alpha) { this.alpha = alpha; paint.setAlpha(alpha); return this; }
@Override public void setAlpha(int alpha) { this.alpha = alpha; paint.setAlpha(alpha); }
protected void drawText(BaseDanmaku danmaku, String lineText, Canvas canvas, float left, float top, TextPaint paint, boolean fromWorkerThread) { if (fromWorkerThread && danmaku instanceof SpecialDanmaku) { paint.setAlpha(255); } if (lineText != null) { canvas.drawText(lineText, left, top, paint); } else { canvas.drawText(danmaku.text.toString(), left, top, paint); } }
@Override public boolean setState(int[] stateSet) { int oldValue = paint.getAlpha(); int newValue = alpha;//Utils.isEnabled(stateSet) ? alpha : alpha / 2; paint.setAlpha(newValue); return oldValue != newValue; }
@Override protected void drawFrame(Canvas canvas) { Layout layout = mHTextView.getLayout(); int gapIndex = 0; for (int i = 0; i < layout.getLineCount(); i++) { int lineStart = layout.getLineStart(i); int lineEnd = layout.getLineEnd(i); float lineLeft = layout.getLineLeft(i); float lineBaseline = layout.getLineBaseline(i); String lineText = mText.subSequence(lineStart, lineEnd).toString(); for (int c = 0; c < lineText.length(); c++) { int alpha = alphaList.get(gapIndex); mPaint.setAlpha((int) ((255 - alpha) * progress + alpha)); canvas.drawText(String.valueOf(lineText.charAt(c)), lineLeft, lineBaseline, mPaint); lineLeft += gapList.get(gapIndex++); } } } }
if (move != -1) { mOldPaint.setTextSize(mTextSize); mOldPaint.setAlpha(255); float p = progress * 2f; p = p > 1 ? 1 : p; canvas.drawText(mOldText.charAt(i) + "", 0, 1, distX, startY, mOldPaint); } else { mOldPaint.setAlpha((int) ((1 - progress) * 255)); mOldPaint.setTextSize(mTextSize * (1 - progress)); float width = mOldPaint.measureText(mOldText.charAt(i) + ""); if (size < 0) size = 0; mPaint.setAlpha(alpha); mPaint.setTextSize(size);
int move = CharacterUtils.needMove(i, differentList); if (move != -1) { mOldPaint.setAlpha(255); float p = pp * 2f; p = p > 1 ? 1 : p; canvas.drawText(mOldText.charAt(i) + "", 0, 1, distX, startY, mOldPaint); } else { mOldPaint.setAlpha((int) ((1 - pp) * 255)); float y = startY - pp * mTextHeight; float width = mOldPaint.measureText(mOldText.charAt(i) + ""); alpha = alpha < 0 ? 0 : alpha; mPaint.setAlpha(alpha); mPaint.setTextSize(mTextSize); float pp = progress * duration / (charTime + charTime / mostCount * (mText.length() - 1));
int move = CharacterUtils.needMove(i, differentList); if (move != -1) { mOldPaint.setAlpha(255); float p = percent * 2f; p = p > 1 ? 1 : p; } else { mOldPaint.setAlpha(255); float centerX = oldOffset + oldGapList.get(i) / 2; float width = mOldPaint.measureText(mOldText.charAt(i) + ""); } else { float p2 = (float) ((percent - 0.7) / 0.3f); mOldPaint.setAlpha((int) ((1 - p2) * 255)); float y = (float) ((p2) * mTextHeight); Path path2 = new Path(); size = size < 0 ? 0 : size; mPaint.setAlpha(alpha); mPaint.setTextSize(size); float width = mPaint.measureText(mText.charAt(i) + "");
mTitlePaint.setTextSize(mCurTitleProperty.mTextSize); mTitlePaint.setColor(color); mTitlePaint.setAlpha(alpha);
descriptionPaint.setTypeface(Typeface.create(Typeface.SANS_SERIF, Typeface.NORMAL)); descriptionPaint.setAntiAlias(true); descriptionPaint.setAlpha((int) (0.54f * 255.0f));
paint.setAlpha((int) (Shadow.ALPHA * alpha));
paint.setAlpha((int) (Shadow.ALPHA * alpha));
paint.setAlpha((int) (Shadow.ALPHA * alpha));
@NonNull @Override public TextSticker setAlpha(@IntRange(from = 0, to = 255) int alpha) { textPaint.setAlpha(alpha); return this; }
@Override public void updateDrawState(@NonNull TextPaint paint) { paint.setAlpha((int) (paint.getAlpha() * mValue)); paint.bgColor = Color.argb((int) (Color.alpha(paint.bgColor) * mValue), Color.red(paint.bgColor), Color.green(paint.bgColor), Color.blue(paint.bgColor)); } }
@Test public void testAlphaSpan() { final AlphaSpan alphaSpan = new AlphaSpan(0.5f); final TextPaint textPaint = new TextPaint(); textPaint.setAlpha(200); textPaint.bgColor = Color.argb(100, 100, 100, 100); alphaSpan.updateDrawState(textPaint); assertEquals(100, textPaint.getAlpha()); assertEquals(Color.argb(50, 100, 100, 100), textPaint.bgColor); } }
@ColorInt final int primaryTextColour = options.getPrimaryTextColour(); mPaintPrimaryText.setColor(primaryTextColour); mPaintPrimaryText.setAlpha(Color.alpha(primaryTextColour)); mPaintPrimaryText.setAntiAlias(true); mPaintPrimaryText.setTextSize(options.getPrimaryTextSize()); @ColorInt final int secondaryTextColour = options.getSecondaryTextColour(); mPaintSecondaryText.setColor(secondaryTextColour); mPaintSecondaryText.setAlpha(Color.alpha(secondaryTextColour)); mPaintSecondaryText.setAntiAlias(true); mPaintSecondaryText.setTextSize(options.getSecondaryTextSize());