温馨提示×

android sweepgradient 如何设置中间颜色

小樊
81
2024-11-29 14:51:51
栏目: 编程语言

在Android中,要设置SweepGradient渐变中间颜色,请遵循以下步骤:

  1. 创建一个SweepGradient对象,传入起始颜色、结束颜色和渐变中心点。
  2. 使用Shader对象将SweepGradient应用到需要渐变的视图上。

以下是一个示例代码:

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.LinearGradient;
import android.graphics.Paint;
import android.graphics.Shader;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        View view = findViewById(R.id.my_view);
        view.setDrawingCacheEnabled(true);
        Canvas canvas = new Canvas(view.getDrawingCache());

        // 创建SweepGradient对象
        int startColor = 0xFF4CAF50; // 起始颜色:绿色
        int endColor = 0xFFFFC107; // 结束颜色:黄色
        float centerX = view.getWidth() / 2f; // 渐变中心点X坐标
        float centerY = view.getHeight() / 2f; // 渐变中心点Y坐标
        SweepGradient sweepGradient = new SweepGradient(centerX, centerY, startColor, endColor);

        // 创建一个Paint对象,并将SweepGradient应用到该对象上
        Paint paint = new Paint();
        paint.setShader(sweepGradient);

        // 使用Canvas的drawRect方法绘制渐变矩形
        canvas.drawRect(0, 0, view.getWidth(), view.getHeight(), paint);

        // 关闭DrawingCache
        view.setDrawingCacheEnabled(false);
    }
}

在这个示例中,我们创建了一个SweepGradient对象,起始颜色为绿色(0xFF4CAF50),结束颜色为黄色(0xFFFFC107),渐变中心点位于视图的中心(centerXcenterY)。然后,我们创建了一个Paint对象,将SweepGradient应用到该对象上,并使用CanvasdrawRect方法绘制渐变矩形。

0