Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 获取自定义视图的InnerShadow_Android_Android Layout_Android Widget - Fatal编程技术网

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中的硬件加速功能。您应该将此作为答案写入并接受它。:)是的,我稍后再做。。为什么我必须禁用“硬件加速”?不禁用它是否可行?