温馨提示×

android drawarc 怎么设置颜色

小樊
81
2024-11-24 02:08:40
栏目: 编程语言

在Android中,要设置ArcView的颜色,您需要使用Paint类并设置其颜色属性。以下是一个简单的示例,展示了如何在自定义的ArcView类中设置颜色:

  1. 首先,在res/values/colors.xml文件中定义您想要的颜色值:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="arc_color">#FF0000</color>
</resources>
  1. 然后,在ArcView的构造函数中创建一个Paint对象,并使用setColor()方法设置颜色:
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
import android.util.AttributeSet;

public class ArcView extends View {
    private Paint mPaint;
    private RectF mArcRect;

    public ArcView(Context context) {
        this(context, null);
    }

    public ArcView(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public ArcView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init();
    }

    private void init() {
        mPaint = new Paint();
        mPaint.setAntiAlias(true);
        mPaint.setStyle(Paint.Style.STROKE);
        mPaint.setStrokeWidth(10);
        mArcRect = new RectF();
    }

    public void setArcColor(int color) {
        mPaint.setColor(color);
        invalidate();
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        // 设置圆弧的颜色
        mPaint.setColor(getResources().getColor(R.color.arc_color));

        // 绘制圆弧
        canvas.drawArc(mArcRect, 0, 270, false, mPaint);
    }
}
  1. 最后,在布局文件中使用您的自定义ArcView,并通过代码设置颜色:
<your.package.name.ArcView
    android:id="@+id/arc_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
ArcView arcView = findViewById(R.id.arc_view);
arcView.setArcColor(getResources().getColor(R.color.arc_color));

这样,您就可以在ArcView中设置颜色了。

0