2012-08-29 42 views
1

我想在我的TextView中設置漸變文字顏色。我已使用此代碼textveiw中的文字顏色漸變不起作用

Shader textShader=new LinearGradient(0, 0, 0, 20, new int[]{Color.rgb(225, 225, 225),Color.rgb(150, 150, 150)}, new float[]{0, 1}, TileMode.CLAMP); 
text.getPaint().setShader(textShader); 

活動啓動時,文本不顯示。但是,如果我更改手機的方向,則會以漸變色顯示TextView中的文字。我已經在HTC One V上測試過它。它在仿真器和三星設備上工作正常。

我也測試過下面的例子,併發生同樣的問題。

https://github.com/koush/Widgets

+0

你叫'text.invalidate();'設置在着色器後? –

回答

-3
.text1 { background: #dfdfdf; /* Old browsers */ 
background: -moz-linear-gradient(top, #d1d1d1 0%, #000 100%); /* FF3.6+ */ 
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#d1d1d1), color-stop(100%,#000)); /* Chrome,Safari4+ */ 
background: -webkit-linear-gradient(top, #d1d1d1 0%,#000 100%); /* Chrome10+,Safari5.1+ */ 
background: -o-linear-gradient(top, #d1d1d1 0%,#000 100%); /* Opera 11.10+ */ 
background: -ms-linear-gradient(top, #d1d1d1 0%,#000 100%); /* IE10+ */ 
background: linear-gradient(to bottom, #d1d1d1 0%,#000 100%); /* W3C */ 
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#d1d1d1', endColorstr='#000',GradientType=0); /* IE6-9 */ 
    -webkit-text-fill-color: transparent; 
    -webkit-background-clip: text; 
    -webkit-animation-name: masked-animation; 
    -webkit-animation-duration: 10s; 
    -webkit-animation-iteration-count: infinite; 
    -webkit-animation-timing-function: linear; 
} 
h1{color:#f00;} 


<div class="text1"><h1>Lorem</h1></div> 
+0

它正在工作,請檢查Safari瀏覽器。通常所有的移動設備都支持chrome和safri。 – Brendon

+0

這與android無關! –