AndroidMotionLayout不能应用Spring动画吗?
创始人
2024-10-09 08:33:26
0

可以使用MotionLayout的TransitionListener来实现Spring动画。首先,在xml中定义MotionLayout时,需要设置motionProgress值和TransitionListener监听器。然后在onTransitionChange回调方法中,通过对motionProgress的值进行修改,实现Spring动画效果。

示例代码如下:


class MyViewModel {

    val transitionListener = object : TransitionListener {

        override fun onTransitionStarted(motionLayout: MotionLayout?, startId: Int, endId: Int) {
            // 开始动画
        }

        override fun onTransitionChange(
            motionLayout: MotionLayout?,
            startId: Int,
            endId: Int,
            progress: Float
        ) {
            // 实现Spring动画效果
            val springValue = SpringAnimationUtils.mapValueFromRangeToRange(
                progress,
                0f,
                1f,
                0.5f,
                1.5f
            )
            motionLayout?.progress = springValue
        }

        override fun onTransitionCompleted(motionLayout: MotionLayout?, currentId: Int) {
            // 完成动画
        }

        override fun onTransitionTrigger(
            motionLayout: MotionLayout?,
            triggerId: Int,
            positive: Boolean,
            progress: Float
        ) {
            // 进度触发
        }

    }

}

在TransitionListener的onTransitionChange回调方法中,调用SpringAnimationUtils工具类的mapValueFromRangeToRange方法,将传入的progress值从0到1的范围映射到0.5到1.5的范围中,实现Spring动画效果。

SpringAnimationUtils工具类代码如下:

object SpringAnimationUtils {

    fun mapValueFromRangeToRange(value: Float, fromLow: Float, fromHigh: Float, toLow: Float, toHigh: Float): Float {
        return toLow + (value - fromLow) * (toHigh - toLow) / (fromHigh - fromLow)
    }

}

相关内容

热门资讯

让我来分享经验!xpoker辅... 让我来分享经验!xpoker辅助器(辅助挂)原来是真的有挂(的确有挂辅助攻略)1、每一步都需要思考,...
一分钟揭秘!xpoker辅助神... 一分钟揭秘!xpoker辅助神器(辅助挂)好像真的有挂(有挂辅助辅助器)1、脚本辅助下载、免费透视脚...
必看攻略!pokemmo脚本辅... 必看攻略!pokemmo脚本辅助(辅助挂)切实是真的有挂(有挂技巧辅助软件)1、完成有辅助插件,帮助...
总算了解!hhpoker买挂(... 总算了解!hhpoker买挂(辅助挂)竟然存在有挂(有挂方法辅助工具)1、实时透视辅助更新:用户可以...
今日焦点!poker辅助器免费... 今日焦点!poker辅助器免费安装(辅助挂)一直真的是有挂(有挂教程辅助攻略)1、免费脚本咨询教程、...
重大通报!模拟器打开hhpok... 重大通报!模拟器打开hhpoker(辅助挂)真是存在有挂(详细教程辅助脚本)1、点击下载安装,脚本分...
分享个大家!pokerworl... 分享个大家!pokerworld破解版下载(辅助挂)确实存在有挂(有挂方略辅助软件)1、起透看视 辅...
热点推荐!德州局hhpoker... 热点推荐!德州局hhpoker(辅助挂)原来是有挂(有挂方式辅助器)1、点击下载安装,脚本分类一目了...
玩家必看科普!hhpoker德... 玩家必看科普!hhpoker德州挂真的有吗(辅助挂)确实真的是有挂(有挂教学辅助方法)暗藏猫腻,小编...
玩家必看秘籍!wepoker黑... 玩家必看秘籍!wepoker黑侠破解(辅助挂)切实真的有挂(有挂解惑辅助方法)1、有没有辅助教程、有...