Android constraint layout ConstrainLayout build ConstraintHelper animation

write a custom view

package com.anguomob.guideline

import android.content.Context
import android.util.AttributeSet
import android.view.ViewAnimationUtils
import androidx.constraintlayout.widget.ConstraintHelper
import androidx.constraintlayout.widget.ConstraintLayout
import kotlin.math.hypot

class CircularReveal @JvmOverloads constructor(
    context: Context, attrs: AttributeSet? = null
) :
    ConstraintHelper(context, attrs) {
    override fun updatePostLayout(container: ConstraintLayout?) {
        super.updatePostLayout(container)
        val views = getViews(container)
        for (view in views) {
            val a = hypot((view.height / 2).toDouble(), (view.width / 2).toDouble()).toFloat();
            val anim = ViewAnimationUtils.createCircularReveal(
                view, view.width / 2, view.height / 2, 0f, a
            )
            anim.duration = 3000;
            anim.start()

        }

    }
}

use

&l

Guess you like

Origin blog.csdn.net/mp624183768/article/details/124463154