Android TextView文字颜色渐变

一,第一种效果

一段文字的颜色从一种颜色,渐变为另一种颜色

Android TextView文字颜色渐变_第1张图片

关键代码

    private void setTextViewStyles(TextView textView) {
        LinearGradient mLinearGradient = new LinearGradient(0, 0, textView.getPaint().getTextSize()* textView.getText().length(), 0, Color.parseColor("#FFFF68FF"), Color.parseColor("#FFFED732"), Shader.TileMode.CLAMP);
        textView.getPaint().setShader(mLinearGradient);
        textView.invalidate();
    }

二,第二种效果

一段文字有几种颜色,而且可以设置颜色渐变的位置;

Android TextView文字颜色渐变_第2张图片

 private void setTextViewStyles(TextView textView) {
        int[] colors = {Color.RED, Color.GREEN, Color.BLUE};//颜色的数组
        float[] position = {0f, 0.7f, 1.0f};//颜色渐变位置的数组
        LinearGradient mLinearGradient = new LinearGradient(0, 0, textView.getPaint().getTextSize() * textView.getText().length(), 0, colors, position, Shader.TileMode.CLAMP);
        textView.getPaint().setShader(mLinearGradient);
        textView.invalidate();
    }

其实以上实现都是利用LinearGradient实现的;

你可能感兴趣的:(Android)