首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在科特林画长方形?

如何在科特林画长方形?
EN

Stack Overflow用户
提问于 2018-05-13 17:07:32
回答 1查看 4.9K关注 0票数 1

我只是个新手,想用科特林的画布。我试图绘制矩形根据用户的输入,我将从另一个活动。我不能做的是将数组传递给重写类。这是我的密码。

代码语言:javascript
复制
fun drawrect(view: View){
    val layout1 = findViewById<ConstraintLayout>(R.id.layout1)
    val background = Canvass (this)
    layerheight = getIntent().getSerializableExtra("layerheight") as ArrayList<Double>;
    soilspecificweight = getIntent().getSerializableExtra("soilspecificweight") as ArrayList<Double>;
    cohesion= getIntent().getSerializableExtra("cohesion") as ArrayList<Double>;
    frictionangle = getIntent().getSerializableExtra("frictionangle") as ArrayList<Double>;
    mpeffectivestress = getIntent().getSerializableExtra("mpeffectivestress") as ArrayList<Double>;
    voidratio = getIntent().getSerializableExtra("voidratio") as ArrayList<Double>;
    compressionindex = getIntent().getSerializableExtra("compressionindex") as ArrayList<Double>;
    recompressionindex = getIntent().getSerializableExtra("recompressionindex") as ArrayList<Double>;
    bearingcapacityindex = getIntent().getSerializableExtra("bearingcapacityindex") as ArrayList<Double>;
    layout1.addView (background)

}
class Canvass (context: Context): View(context) {
    override fun onDraw (canvas: Canvas) {
        canvas.drawRGB (255, 255, 255)
        val width = width
        val footingpaint = Paint ()
        val textpaint = Paint ()
        val brush3 = Paint ()
        val brush4 = Paint ()

        footingpaint.setARGB (255, 128, 128, 128)
        textpaint.setARGB (255, 255, 255, 255)
        brush3.setARGB (255, 138, 36, 36)
        brush4.setARGB (255, 138, 36, 36)

        canvas.drawRect (((width/2)-10).toFloat(), 0f, ((width/2)+ 10) .toFloat (), 40f, footingpaint)
        canvas.drawRect (70f, 40f, (width - 70) .toFloat (), 80f, footingpaint)
        for(i in (0..layerheight.size)){

        }



    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-13 17:53:56

代码语言:javascript
复制
class Canvass (context: Context, layerheight: ArrayList<Double>): View(context) {

    private var layerheight: ArrayList<Double> = layerheight
    override fun onDraw (canvas: Canvas) {

        canvas.drawRGB (255, 255, 255)
        val width = width
        val footingpaint = Paint ()
        val textpaint = Paint ()
        val brush3 = Paint ()
        val brush4 = Paint ()

        footingpaint.setARGB (255, 128, 128, 128)
        textpaint.setARGB (255, 255, 255, 255)
        brush3.setARGB (255, 138, 36, 36)
        brush4.setARGB (255, 138, 36, 36)

        canvas.drawRect (((width/2)-10).toFloat(), 0f, ((width/2)+ 10) .toFloat (), 40f, footingpaint)
        canvas.drawRect (70f, 40f, (width - 70) .toFloat (), 80f, footingpaint)
        for(i in (0..layerheight.size)){
            println(layerheight)
        }

    }
}

找到了,但如果有更好的解决方案,我很乐意检查一下。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50318591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档