を使用してキャンバスに三角形を描画しようとしていますdrawPath()
が、三角形の塗りつぶしに問題があります。次のコードは、ペイントが設定されている場合は三角形をうまく描画しますが、ペイントSTROKE
が設定されている場合はFILL
何も描画しません。ここで私が間違っていることはありますか?
labelArrowBox.reset();
labelArrowBox.moveTo(labelPosition.x, labelPosition.y);
float x = labelPosition.x + LABEL_BOX_ARROW_WIDTH / 2;
float y = labelPosition.y - LABEL_BOX_ARROW_HEIGHT;
labelArrowBox.lineTo(x, y);
labelArrowBox.moveTo(x, y);
x = labelPosition.x - LABEL_BOX_ARROW_WIDTH / 2;
labelArrowBox.lineTo(x, y);
labelArrowBox.moveTo(x, y);
labelArrowBox.lineTo(labelPosition.x, labelPosition.y);
labelArrowBox.moveTo(labelPosition.x, labelPosition.y);
labelArrowBox.close();
Paint arrowBorderPaint = new Paint();
arrowBorderPaint.setAntiAlias(true);
arrowBorderPaint.setDither(true);
arrowBorderPaint.setColor(getContext().getResources().getColor(R.color.leaf_thin_ring));
arrowBorderPaint.setStyle(Paint.Style.FILL);
canvas.drawPath(labelArrowBox, arrowBorderPaint);