一,第一種效果
一段文字的顏色從一種顏色,漸變爲另一種顏色
關鍵代碼
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();
}
二,第二種效果
一段文字有幾種顏色,而且可以設置顏色漸變的位置;
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實現的;