Я пытаюсь анимировать изображение в фрагменте. Я попытался создать 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, после веселья скалер. Это как-то связано с тем, что я анимирую внутри фрагмента? Потому что я уже делал анимацию внутри действия, и она работала нормально.