android lineargradient怎樣創(chuàng)建

小樊
81
2024-11-16 13:48:41

在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è)置為使用線性漸變,因此繪制的矩形將具有漸變效果。

0