attrs定义如下
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="ClockView">
<attr name="pointer_color" format="color" />
<attr name="scale_color" format="color" />
<attr name="one_circle_color" format="color" />
<attr name="two_circle_color" format="color" />
<attr name="three_circle_color" format="color" />
<attr name="four_circle_color" format="color" />
</declare-styleable>
</resources>
自定义ClockView代码如下
package com.example.helloworld;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;
import androidx.annotation.Nullable;
import java.util.Calendar;
/**
* 时钟
*
* @since 2021-02-29
* @author Sar
*/
public class ClockView extends View {
private static final int DEFAULT_POINTER_COLOR = Color.parseColor("#FFFFFF");
private static final int DEFAULT_SCALE_COLOR = Color.parseColor("#FFFFFF");
private static final int DEFAULT_ONE_CIRCLE_COLOR = Color.parseColor("#FFFFFF");
private static final int DEFAULT_TWO_CIRCLE_COLOR = Color.parseColor("#CCCCCC");
private static final int DEFAULT_THREE_CIRCLE_COLOR = Color.parseColor("#BBBBBB");
private static final int DEFAULT_FOUR_CIRCLE_COLOR = Color.parseColor("#AAAAAA");
private static final int DEFAULT_FOUR_CIRCLE_DIAMETER = 180; // 默认外圈圆直径,也就是该控件默认宽高,单位dp
private int pointerColor; // 指针颜色
private int scaleColor; /