Android 获取自定义视图的InnerShadow
我正在试着做一个定制的计时器 这是我的代码这是完美的 我的问题是我想要内心的阴影 公营天文钟{Android 获取自定义视图的InnerShadow,android,android-layout,android-widget,Android,Android Layout,Android Widget,我正在试着做一个定制的计时器 这是我的代码这是完美的 我的问题是我想要内心的阴影 公营天文钟{ private boolean start = false; private long startTime, elapsedTime; private float angle = 0f; private Paint paint, p; private RectF r; public CustomChronometer(Context context, AttributeSet attrs) {
private boolean start = false;
private long startTime, elapsedTime;
private float angle = 0f;
private Paint paint, p;
private RectF r;
public CustomChronometer(Context context, AttributeSet attrs) {
super(context, attrs);
paint = new Paint();
paint.setColor(Color.parseColor("#0897ef"));
paint.setStrokeWidth(25);
paint.setStyle(Paint.Style.STROKE);
paint.setAntiAlias(true);
// paint.setStrokeCap(Cap.ROUND);
}
@SuppressLint("DrawAllocation")
@Override
protected void onLayout(boolean changed, int left, int top, int right,
int bottom) {
super.onLayout(changed, left, top, right, bottom);
r = new RectF(left + 30, top + 30, right - 30, bottom - 30);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (start) {
elapsedTime = System.currentTimeMillis();
angle = (elapsedTime - startTime) * 0.006f;
canvas.drawArc(r, 270f, angle, false, paint);
if (angle >= 360) {
startTime = System.currentTimeMillis();
angle = 0f;
}
invalidate();
}
}
@Override
public void start() {
super.start();
start = true;
startTime = System.currentTimeMillis();
}
@Override
public void stop() {
super.stop();
start = false;
}
}
我要求它看起来像这样
paint paint.setColor(Color.parseColor("#0897ef"));
paint.setStrokeWidth(40);
paint.setStyle(Paint.Style.STROKE);
paint.setAntiAlias(true);
paint.setMaskFilter(new BlurMaskFilter(7, Blur.INNER));
另外,应该从清单中禁用硬件加速–你知道这一点吗?我正在尝试添加相同类型的阴影。是的,在paint.setColor(Color.parseColor(“#0897ef”);paint.setStrokeWidth(40);paint.setStyle(paint.Style.STROKE);paint.setAntiAlias(true);paint.setMaskFilter中尝试此操作(新的BlurMaskFilter(7,Blur.internal));还应禁用ManifestThank中的硬件加速功能。您应该将此作为答案写入并接受它。:)是的,我稍后再做。。为什么我必须禁用“硬件加速”?不禁用它是否可行?