溫馨提示×

android radialgradient能實現多色漸變嗎

小樊
101
2024-12-02 10:40:42
欄目: 編程語言

是的,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,這意味著顏色會超出邊界時會被拉伸。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女