是的,Android的RadialGradient
可以實現多色漸變。要實現多色漸變,您需要使用Shader
類的setGradientColor
方法為漸變指定多個顏色??奎c。以下是一個簡單的示例:
import android.graphics.Canvas;
import android.graphics.LinearGradient;
import android.graphics.RadialGradient;
import android.graphics.Shader;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new View(this));
View view = findViewById(android.R.id.content);
view.setDrawingCacheEnabled(true);
Canvas canvas = new Canvas(view.getDrawingCache());
// 創建一個徑向漸變
RadialGradient radialGradient = new RadialGradient(
500, 500, 200, // 漸變中心坐標和半徑
new int[]{0xFF4CAF50, 0xFF8BC34A, 0xFFCDDC39}, // 顏色??奎c
new float[]{0, 0.5f, 1}, // 顏色在漸變中的位置
Shader.TileMode.CLAMP); // 漸變模式
// 將漸變應用到畫布上
canvas.drawColor(0xFFFFFFFF); // 畫布背景色
canvas.drawCircle(500, 500, 200, radialGradient);
}
}
在這個示例中,我們創建了一個徑向漸變,從綠色(0xFF4CAF50)到黃色(0xFFCDDC39),最后到淺黃色(0xFF8BC34A)。漸變中心位于坐標(500, 500),半徑為200。漸變模式設置為CLAMP
,這意味著顏色會超出邊界時會被拉伸。