在TextView Android上使用不同颜色同时应用渐变和阴影

时间:2015-12-28 07:39:28

标签: android shader shadow

我正在尝试在TextView上同时应用不同颜色的渐变和阴影。每当我应用渐变(着色器)时,它也会使用与渐变相同的颜色重绘阴影,但我需要阴影和渐变颜色不同。 这是我的渐变和阴影代码。

txtHello.setShadowLayer(shadowRadius, tempShadowX,tempShadowY, getShadowColorCode());
radialGradient = new RadialGradient(txtHello.getWidth()/2,txtHello.getHeight()/2,10,color,position,tile_mode);
        txtHello.getPaint().setShader(radialGradient)

2 个答案:

答案 0 :(得分:0)

每当在textView上应用着色器时,你都无法改变阴影的颜色。首先将着色器设置为null,然后应用不同颜色的阴影层和文本颜色

答案 1 :(得分:0)

问题解决了: 您可以应用更改

纹理或渐变应用文本的阴影
  1. 如果您已经在文本上申请,请先保存着色器。
  2. 第二个使着色器为null,以便着色器效果消失,所以一点点时间
  3. 然后在文本
  4. 上应用阴影图层
  5. 保存阴影图层
  6. 清除阴影图层
  7. 应用着色器
  8. 然后保存着色器
  9. 现在你有一个带有自定义颜色的着色器(渐变/纹理)的文本。

        Shader shader = getPaint().getShader();
        getPaint().setShader(null);
        getPaint().setShadowLayer(20,  10, 10, Color.BLACK);
        super.onDraw(canvas);
        getPaint().clearShadowLayer();
        getPaint().setShader(shader);
        super.onDraw(canvas);