在文本

时间:2017-09-29 14:53:06

标签: android textview gradient

我想要这个输出:

enter image description here

两种颜色是:

<color name="clrc2">#c27a1c</color>
    <color name="clrfe">#fee17f</color>

我试过这段代码:

Shader shader = new LinearGradient(0,100,10,100,
                new int[]{resources.getColor(R.color.clrc2),resources.getColor(R.color.clrfe),resources.getColor(R.color.clrc2)}
                ,new float[]{0.4f,0.2f,0.4f}, Shader.TileMode.MIRROR);
        option_.setTextColor(resources.getColor(R.color.clrc2));
        option_.getPaint().setShader( shader );

我没有达到预期的效果。

这是我得到的结果:

enter image description here

1 个答案:

答案 0 :(得分:0)

通过此代码获得准确的渐变:

Shader textShader = new LinearGradient(0, 8, 0, 18,
            new int[]{Color.parseColor("#c27a1c"), Color.parseColor("#fee17f")},
            new float[]{0, 1}, Shader.TileMode.MIRROR);
    option_.setTextColor(resources.getColor(R.color.clrfe));
    option_.getPaint().setShader(textShader);

参考:https://stackoverflow.com/a/16958396/5327912