天天看點

Android TextView文字顔色漸變

一,第一種效果

一段文字的顔色從一種顔色,漸變為另一種顔色

Android TextView文字顔色漸變

關鍵代碼

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文字顔色漸變
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實作的;

如果對您有所幫助的話

不妨加個關注,點個贊哈,您的每個小小舉動都是對我莫大的支援!