私はandroidでtextViewにグラデーションを与えるためにしばらくの間検索しますが、どこでも適切な解決策を得ていません。
私はこのような画面を持っています
画像をテキストとして配置したが、グラデーションのあるテキストビューが多い場合、アプリケーションのサイズが大きくなる可能性があります。誰かが解決策を知っているなら、それを投稿してください。ありがとう。
私はandroidでtextViewにグラデーションを与えるためにしばらくの間検索しますが、どこでも適切な解決策を得ていません。
私はこのような画面を持っています
画像をテキストとして配置したが、グラデーションのあるテキストビューが多い場合、アプリケーションのサイズが大きくなる可能性があります。誰かが解決策を知っているなら、それを投稿してください。ありがとう。
さあ、
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
。