1

我尝试为我的视图创建一个笔触,如果左侧和顶部为 0,则效果很好。更改left矩形后,左侧边缘笔触大于正常值。例如,我将其设置left为 10

public class SimpleView  extends View {
    Paint paint = new Paint();
    RectF bodyRect = new RectF();
    ...

    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        bodyRect = new RectF(10, 0, getWidth(), getHeight());

        paint.setColor(Color.WHITE);
        paint.setStrokeWidth(20);
        paint.setStyle(Paint.Style.STROKE);
        canvas.drawRect(bodyRect,paint);
    }
}

xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    ...
    android:background="#000">

    <...SimpleView
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_margin="50dp"
        android:background="#f00" />

</LinearLayout>

左边的行程更大

在此处输入图像描述

如果我使用

bodyRect = new RectF(0, 0, getWidth(), getHeight());

在此处输入图像描述
结果看起来不错

任何帮助将不胜感激。

4

1 回答 1

0

我只是找到解决方案。它不是更大。默认情况下笔画不显示FULL
如果我这样做,则可以显示整个笔画

bodyRect = new RectF(10, 10, getWidth()-10, getHeight()-10); // 10 = strokeWidth/2

在此处输入图像描述

于 2019-01-28T07:56:35.950 回答