【问题标题】:Get InnerShadow for Custom View获取自定义视图的 InnerShadow
【发布时间】:2013-04-10 15:06:28
【问题描述】:

我正在尝试制作一个自定义计时器 这是我的代码,这是完美的 我坚持的问题是我想要有内阴影

公共类 CustomChronometer 扩展 Chronometer {

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"));油漆.setStrokeWidth(40); paint.setStyle(Paint.Style.STROKE); paint.setAntiAlias(true); paint.setMaskFilter(new BlurMaskFilter(7, Blur.INNER));还应从清单中禁用硬件加速
  • 谢谢。你应该把它写成答案并接受它。 :)
  • 是的,稍后再做..

标签: android android-layout android-widget


【解决方案1】:
paint paint.setColor(Color.parseColor("#0897ef"));
paint.setStrokeWidth(40);
paint.setStyle(Paint.Style.STROKE);
paint.setAntiAlias(true); 
paint.setMaskFilter(new BlurMaskFilter(7, Blur.INNER));

还应从清单中禁用硬件加速 -

【讨论】:

  • 为什么要禁用“硬件加速”?不禁用是否可以?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多