0

を使用してキャンバスに三角形を描画しようとしています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);
4

1 に答える 1