1

ListViewここに示すように、区切り項目 の区切りとして点線を描画しようとしています:ここに画像の説明を入力

それを行うために、メソッドをオーバーライドしてOnDraw()使用したケースの1つで:

paint.SetPathEffect(new DashPathEffect(new[] { 2f, 2f }, 0));

_paint.StrokeWidth = 2;

dowsを使用してDashPathEffect小さな点を描画しますが、それらは点ではありません。丸みを帯びた点ではなく、小さな正方形です。

ここに画像の説明を入力

このアプリは、Xamarin のフレームワークでモノドロイドを使用して構築されています

何かご意見は?

4

2 に答える 2

3

塗料の設定

 mPaint.setStyle(Paint.Style.STROKE);
 mPaint.setStrokeWidth(30);
 mPaint.setPathEffect(new DashPathEffect(new float[]{1, 60}, 0f));
 mPaint.setStrokeCap(Paint.Cap.ROUND);

使用例

canvas.drawPath(mPath, mPaint);

アップデート

別の方法があります。ここでは、絶対に任意の形状を設定できます

    paintBlue = new Paint(Paint.ANTI_ALIAS_FLAG);
    float mRadius = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1, context.getResources().getDisplayMetrics());
    paintBlue.setStyle(Paint.Style.STROKE);
    paintBlue.setAntiAlias(true);
    paintBlue.setColor(Color.BLACK);
    paintBlue.setStrokeWidth(12);
    Path shapePath = new Path();
    shapePath.addCircle(0, 0, mRadius, Path.Direction.CCW);
    PathDashPathEffect pathDashPathEffect = new PathDashPathEffect(shapePath, mRadius * 4, 0, PathDashPathEffect.Style.ROTATE);
    paintBlue.setPathEffect(pathDashPathEffect);
于 2015-01-19T14:43:23.877 に答える
1

API レベルが 11 以上のデバイスでテストしている場合は、レイヤー タイプLAYER_TYPE_SOFTWAREに設定してみてください。

于 2013-10-08T12:34:31.620 に答える