首页 > 解决方案 > 双向扩展约束布局的宽度

问题描述

我有一个视图,我们称它为“A”,位于滚动视图内。我希望能够在“A”上绘图,然后水平滚动绘图。为此,我一直在以编程方式扩展宽度:

    val chart = findViewById<ConstraintLayout>(R.id.chart)
    chart.layoutParams.width = someWidth
    chart.requestLayout()

这行得通,除了它将 扩展为 RIGHT。我需要能够从两侧扩大宽度,所以它看起来好像在放大一个区域。

如果我layout_gravity to "center"在我的 xml 中将 和 宽度设置为某个较大的值,则表明视图在设计器中双向扩展,但实际上它是从右侧扩展的。

我试过编辑边距:

    val params = (chart.layoutParams as MarginLayoutParams)
    params.setMargins(-someWidth/2), 0, -someWidth/2, 0)
    glucoseChart.requestLayout()

但由于某种原因,这似乎并没有真正扩大宽度,并且滚动视图是不可滚动的。

有任何想法吗?

标签: javaandroidkotlin

解决方案


推荐阅读