public void drawText(@NonNull Canvas canvas,RectF bounds,float percentComplete){
  if (mText != null && mText.length() > 0) {
    mPaintText.setTextSize(100 * percentComplete);
    mPaintText.setAlpha(MAX_ALPHA);
    final float startFadePercent=0.7f;
    if (percentComplete > startFadePercent) {
      int alphaText=(int)(MAX_ALPHA - (MAX_ALPHA * ((percentComplete - startFadePercent) / (1.0f - startFadePercent))));
      mPaintText.setAlpha(alphaText);
    }
    final float xPos=bounds.left + (bounds.width() / 2);
    final float yPos=(bounds.top + (bounds.height() / 2)) - ((mPaintText.descent() + mPaintText.ascent()) / 2);
    canvas.drawText(mText,xPos,yPos,mPaintText);
  }
}

public void drawText ( @ NonNull Canvas canvas , RectF bounds , float percentComplete ) { if ( mText != null && mText . length ( ) > 0 ) { mPaintText . setTextSize ( 100 * percentComplete ) ; mPaintText . setAlpha ( MAX_ALPHA ) ; final float startFadePercent = 0.7f ; if ( percentComplete > startFadePercent ) { int alphaText = ( int ) ( MAX_ALPHA - ( MAX_ALPHA * ( ( percentComplete - startFadePercent ) / ( 1.0f - startFadePercent ) ) ) ) ; mPaintText . setAlpha ( alphaText ) ; } final float xPos = bounds . left + ( bounds . width ( ) / 2 ) ; final float yPos = ( bounds . top + ( bounds . height ( ) / 2 ) ) - ( ( mPaintText . descent ( ) + mPaintText . ascent ( ) ) / 2 ) ; canvas . drawText ( mText , xPos , yPos , mPaintText ) ; } }
animates the drawing of a text animation of size and alpha
