2016-04-14 13 views
4

У меня есть анимация, определенная в XML-ресурсе, и я хочу прикрепить эту анимацию к представлению. Я знаю, как выполнить это в коде вручную, но мне было интересно, можно ли прикрепить эту анимацию к представлению непосредственно в объявлении макета. Что-то вроде:Как подключить анимацию к объекту в формате XML в Android?

<ImageView android:animation="@anim/my_anim" /> 

Так что анимация будет автоматически запускаться без какого-либо внешнего вызова кода. Возможно ли это со встроенным Android SDK (я не ищу какую-либо внешнюю библиотеку, которая может добавить это как функциональность для перехода)? Если да, то как?

ответ

5

Ответ на этот вопрос нет. Вы должны приложить анимацию во время выполнения. Но это довольно легко сделать, и нужно брать всего несколько строк кода. Например, из Android docs:

ImageView spaceshipImage = (ImageView) findViewById(R.id.spaceshipImage); 
Animation hyperspaceJumpAnimation = AnimationUtils.loadAnimation(this, R.anim.hyperspace_jump); 
spaceshipImage.startAnimation(hyperspaceJumpAnimation); 
+0

Спасибо, но я уже знаю, как оживить вид с помощью кода :) Мне просто интересно, чтобы найти способ сделать это «все-декларативной» путь без написания кода. –

+0

У меня вопрос, который у меня есть, почему? Каков реальный вопрос, который вы хотите задать? Я не могу себе представить, что писать 3 строки кода - это неразумно для вас, поэтому должна быть другая причина. Я могу, возможно, уточнить для вас или помочь вам решить реальную проблему. – NoChinDeluxe

+0

Я не сказал, что это необоснованно. Это легко, и я уже это делаю. Я просто пытаюсь переместить столько логики, сколько я могу в декларации, а не в коде, и я искал способ переместить анимацию в объявление из кода. –