Android 自定义视图组示例?

Android 自定义视图组示例?,android,viewgroup,Android,Viewgroup,我在这里搜索,所以,在谷歌上,在android文档上 但我找不到一段带有自定义视图组示例的代码,我最多只能找到一些模糊的解释 有人能提供吗?如何创建一个视图组,以便将其子对象放在所需的位置?我认为最简单的示例是AbsoluteLayout.java的源代码 您需要覆盖onMeasure来测量子对象,而仅覆盖布局来定位子对象 如果您愿意,我还有更复杂的视图组代码可以共享。这并不简单,您只需在计算视图的精确尺寸后调用super.onMeasure class ProportionalConstra

我在这里搜索,所以,在谷歌上,在android文档上

但我找不到一段带有自定义视图组示例的代码,我最多只能找到一些模糊的解释


有人能提供吗?如何创建一个视图组,以便将其子对象放在所需的位置?

我认为最简单的示例是AbsoluteLayout.java的源代码

您需要覆盖onMeasure来测量子对象,而仅覆盖布局来定位子对象


如果您愿意,我还有更复杂的视图组代码可以共享。

这并不简单,您只需在计算视图的精确尺寸后调用
super.onMeasure

class ProportionalConstraintLayout @JvmOverloads constructor(
    context: Context,
    attrs: AttributeSet? = null,
    defStyleAttr: Int = 0
) : ConstraintLayout(context, attrs, defStyleAttr) {
    
    override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {

        val exactWidth = 100 //do something to calculate the view widht
        val exactHeight = 100 //do something to calculate the view height

        setMeasuredDimension(exactWidth, exactHeight)
        super.onMeasure(
            MeasureSpec.makeMeasureSpec(exactWidth, MeasureSpec.EXACTLY),
            MeasureSpec.makeMeasureSpec(exactHeight, MeasureSpec.EXACTLY)
        )

    }

}

如果你能和我分享。。。可以为子视图指定要替代的重要功能吗?它是一个自定义视图组,用于以相等的距离布置子视图。