在Android中,要?jiǎng)?chuàng)建一個(gè)LinearGradient,你需要使用Shader
類。以下是一個(gè)簡(jiǎn)單的示例,展示了如何創(chuàng)建一個(gè)從左到右的線性漸變:
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.LinearGradient;
import android.graphics.Paint;
import android.graphics.Shader;
import android.view.View;
public class GradientView extends View {
private LinearGradient linearGradient;
private Paint paint;
public GradientView(Context context) {
super(context);
init();
}
private void init() {
// 創(chuàng)建一個(gè)從左到右的線性漸變,從紅色(0xFFFF0000)到藍(lán)色(0xFF0000FF)
linearGradient = new LinearGradient(0, 0, getWidth(), getHeight(), 0xFFFF0000, 0xFF0000FF, Shader.TileMode.CLAMP);
// 創(chuàng)建一個(gè)Paint對(duì)象,并設(shè)置使用線性漸變
paint = new Paint();
paint.setShader(linearGradient);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 使用Paint對(duì)象繪制一個(gè)矩形
canvas.drawRect(0, 0, getWidth(), getHeight(), paint);
}
}
在這個(gè)示例中,我們創(chuàng)建了一個(gè)名為GradientView
的自定義視圖。在構(gòu)造函數(shù)中,我們調(diào)用了init()
方法來(lái)初始化線性漸變和畫(huà)筆。init()
方法中,我們創(chuàng)建了一個(gè)從左到右的線性漸變,顏色從紅色(0xFFFF0000)到藍(lán)色(0xFF0000FF),并使用Shader.TileMode.CLAMP
模式。然后,我們創(chuàng)建了一個(gè)Paint
對(duì)象,并將其設(shè)置為使用我們創(chuàng)建的線性漸變。
在onDraw()
方法中,我們使用Paint
對(duì)象繪制了一個(gè)矩形。由于我們已經(jīng)將畫(huà)筆設(shè)置為使用線性漸變,因此繪制的矩形將具有漸變效果。