2
斜めの縞模様の線を描画するカスタムビューを作成しようとしています。それは次のようになります。Android PathDashPathEffect:パス形状が直線では機能しない
私が何をすべきPathDashPathEffectを使用してと思うが、私は直線のパスになるように、パスの形状を設定すると、ビューは何も描画しません。パスにさらに多くのセグメントを追加して閉じることができます(たとえば、三角形にするなど)。ここで
は私のパスの形状です:
Path pathShape = new Path();
pathShape.moveTo(0, 10);
pathShape.lineTo(10, 0);
以上が動作しない、ビューには何も表示されません。以下の作品やラインのパターンとして三角形を示しています
Path pathShape = new Path();
pathShape.moveTo(0, 0);
pathShape.lineTo(10, 10);
pathShape.lineTo(10, 0);
私の全体のカスタムビュー:
private final Paint paint;
private final Path path;
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
paint = new Paint();
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(20);
paint.setColor(Color.RED);
Path pathShape = new Path();
pathShape.moveTo(0, 0);
pathShape.lineTo(10, 10);
pathShape.lineTo(10, 0);
PathDashPathEffect pathEffect = new PathDashPathEffect(pathShape, 30, 30, PathDashPathEffect.Style.ROTATE);
paint.setPathEffect(pathEffect);
path = new Path();
}
@Override
protected void onDraw(Canvas canvas) {
path.reset();
path.moveTo(0, getHeight()/2);
path.lineTo(getWidth(), getHeight()/2);
canvas.drawPath(path, paint);
}
は、誰もがそれを達成する方法を知っていますか?
多くの感謝!