在片段中创建视图动画

问题描述 投票:0回答:1

我正在尝试为片段中的imageview设置动画。我尝试通过创建XML动画并在Kotlin中进行动画来进行尝试,但是每次运行该应用程序时,它都会崩溃。

class WelcomeFragment : Fragment() {

private lateinit var binding: FragmentWelcomeBinding
private lateinit var zoomAnimation: Animation
private lateinit var turnedOffStar: ImageView

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
                         savedInstanceState: Bundle?): View? {
    binding = DataBindingUtil.inflate(
        inflater,
        R.layout.fragment_welcome,
        container,
        false
    )
    binding.turnedOffStarButton.setOnClickListener { v: View ->

    }
    scaler()
    zoomAnimation()
    return binding.root
}


private fun zoomAnimation() {
    zoomAnimation = AnimationUtils.loadAnimation(activity?.baseContext,R.anim.zoom_undonestar)
    turnedOffStar.startAnimation(zoomAnimation)
}

private fun scaler() {
    val scaleX = PropertyValuesHolder.ofFloat(View.SCALE_X, 0.3F)
    val scaleY = PropertyValuesHolder.ofFloat(View.SCALE_Y, 0.3F)
    val animator: ObjectAnimator = ObjectAnimator.ofPropertyValuesHolder(turnedOffStar, scaleX, scaleY)
    animator.repeatCount = INFINITE
    animator.repeatMode = ObjectAnimator.REVERSE
    animator.start()
}

}

首先,在有趣的缩放器之后,我尝试使用有趣的zoomAnimation。这与我在片段内设置动画的事实有关吗?因为我已经在活动中制作了动画,所以效果很好。

android android-studio android-fragments kotlin android-animation
1个回答
0
投票

如果将堆栈跟踪(Log)与代码一起添加,将很有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.