我从中搜索,同时为android中的textView提供渐变。但是没有得到适当的解决方案。
我有这样的屏幕
如果我将图像作为文本,但我有许多具有渐变的textview,那么应用程序可能会很大。 所以,如果有人知道解决方案,请发布。 感谢。
答案 0 :(得分:9)
在这里,
int[] color = {Color.DKGRAY,Color.CYAN};
float[] position = {0, 1};
TileMode tile_mode = TileMode.REPEAT;
LinearGradient lin_grad = new LinearGradient(0, 0, 0, 35,color,position, tile_mode);
Shader shader_gradient = lin_grad;
your_text_view.getPaint().setShader(shader_gradient);
编辑:
你好@android开发者,
如果你想对视图做一些垂直或任何渐变,
请使用,
RadialGradient
代替LinearGradient.
只有你需要调整,
x coordinate of the center of the radius.
y coordinate of the center of the radius.
and also,
radius value of the view.
并使用平铺模式作为镜像而不是重复。
我有样品,但可能与您想要的不完全相同,
TileMode tile_mode = TileMode.MIRROR or TileMode.REPEAT;
RadialGradient rad_grad = new RadialGradient(0, 3, 5, Color.BLUE,Color.RED,tile_mode, tile_mode);
Shader shader_gradient = rad_grad;
your_text_view.getPaint().setShader(shader_gradient);
您也可以使用SweepGradient
代替LinearGradient
。