本文介绍了Android-如何绘制2向渐变?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我开始玩渐变,我发现绘制1向渐变非常容易(例如从上到下,从左到右或对角线...),但是如何绘制2向渐变呢?我的意思是这样的:

I started playing with gradients and I've found it's pretty easy to draw 1-directional gradient (like from top to bottom, from left to right, or in diagonale...) but how to draw 2-directional gradient? I mean something like this:

蓝色的大矩形是2向渐变的-在右上角是蓝色,在左边是蓝色,在下面是黑色.怎么画呢?

Big blue rectangle it's 2-directional gradient - on top right corner there is blue and to the left its transforming to white and to the bottom it's transforming to the black. How to draw this?

推荐答案

答案是:您必须组合两个不同的LinearGradients,例如:

Answer is: you must combine 2 different LinearGradients, for example:

LinearGradient val = new LinearGradient(0, 0, 0, height, Color.WHITE, Color.BLACK, TileMode.CLAMP);
                LinearGradient sat = new LinearGradient(0, 0, width, 0, Color.WHITE, Color.HSVToColor(hsvCopy), TileMode.CLAMP);
                ComposeShader merged = new ComposeShader(val, sat, PorterDuff.Mode.MULTIPLY)

;

当然很重要:

[view with this background].setLayerType(View.LAYER_TYPE_SOFTWARE, null);

在Android 3.0及更高版本的手机上

on phones with 3.0 android and higher

这篇关于Android-如何绘制2向渐变?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-23 14:49