textview中的文本颜色渐变不起作用

时间:2012-08-29 12:06:56

标签: android textview linear-gradients

我想在TextView中设置渐变文字颜色。我已经使用了这段代码

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

1 个答案:

答案 0 :(得分:-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>