1

私はandroidで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 に答える