1

我从 while 中搜索为 android.but 中的 textView 提供渐变,但在任何地方都没有得到适当的解决方案。

我有这样的屏幕图像中的文本实际上具有渐变

如果我将图像作为文本放置,但我有许多具有渐变的文本视图,则应用程序可能会很大。所以如果有人知道解决方案,请发布。谢谢。

4

1 回答 1

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.

于 2012-10-26T10:52:51.690 回答