首页 > 解决方案 > 以相同的笔划大小绘制线条会产生不同粗细的线条

问题描述

我有以下自定义视图,它在另一条下方绘制两条线:

class GridView @JvmOverloads constructor(
    context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : View(context, attrs, defStyleAttr) {

    private val linePaint = Paint()

    init {
        linePaint.color = Color.DKGRAY
        linePaint.style = Paint.Style.STROKE
        linePaint.strokeWidth = 50f //resources.getDimension(R.dimen.line_width)
    }

    override fun onDraw(canvas: Canvas) {
        super.onDraw(canvas)

        canvas.drawLine(0f, 0f, width.toFloat(), 0f, linePaint)

        canvas.drawLine(0f, 200f, width.toFloat(), 200f, linePaint)
    }

}

视图具有固定大小:

   <com.vgrec.playground.tictactoe.GridView
        android:layout_width="300dp"
        android:layout_height="300dp" />

结果如下所示:

在此处输入图像描述

有什么想法为什么第二行比第一行粗,尽管它们都使用相同的笔划大小50f

标签: androidandroid-custom-view

解决方案


推荐阅读