mPaint.setShadowLayer()가 mPaint.EmbossMaskFilter() 지시문을 방해합니다. 그렇지 않으면 아무것도 캔버스에 그려지지 않습니다.안드로이드 페인트 EmbossMaskFilter가 setShadowLayer와 충돌합니다.
mPaintRing = new Paint();
mPaintRing.setFlags(Paint.ANTI_ALIAS_FLAG);
mPaintRing.setColor(colorGold);
mPaintRing.setDither(true);
mPaintRing.setShadowLayer(3,0,15,colorBackShadow);
mPaintRing.setStyle(Paint.Style.STROKE);
mPaintRing.setMaskFilter(new EmbossMaskFilter(new float[]{0, 1, 1},0.7f, 6.0f, 7.5f));
예상되는 동작, 버그 또는 무엇입니까? 나는 minSDK 11에서 appcompat 7.23.14를 사용하여 건물을 짓고 있습니다.
사실 내 해결 방법과 거의 동일합니다. 즉, 개체를 두 번 그리는 것입니다. 그러나 제 경우에는 2 가지의 페인트를 미리 정의하고 있습니다. 정적 드로잉에서는 접근 방법이 좋지만 애니메이션 사용자 정의 뷰의 경우 onDraw 중에 페인트를 변경하는 것이 너무 비쌀 수 있습니다. – halxinate