weidongjian / androidWheelView

仿照iOS的滚轮控件,从请吃饭apk反编译出来的
Apache License 2.0
1.51k stars 264 forks source link

上下两行设置渐变色 #41

Open ltd920678778 opened 7 years ago

ltd920678778 commented 7 years ago

大神, 想问一下, 就是上下两行的字体绘制时颜色如何才能分开设置呀. 现在代码中上下两行字体的颜色是通过一个paint设置的. 我现在想设置一个渐变色.就是: 第一行是从黑到灰渐变. 第三行是从灰到黑渐变. 不知道要如何改. 望大神解答! 谢谢.

zkywalker commented 7 years ago

设置线性渐变(LinearGradient)

ltd920678778 commented 7 years ago

Shader shaderTopText = new LinearGradient(0, 0, 0, 20, Color.parseColor("#2f3036"), Color.parseColor("#56575b"), Shader.TileMode.CLAMP);

我设置了, 可是第一行和第三行文字是用同一个paint绘制的所以.

zkywalker commented 7 years ago

你试试先保存下画布: canvas.save(); canvas.restore();

huanting commented 6 years ago

可以在remeasure中设置文字渐变色,通过callback可以设置,类似 public interface TextShaderCallback { void setShader(Paint paint, int x0, int y0, int x1, int y1); } 外部模块通过这个回调设置渐变色