Как анимировать один элемент списка слоев

У меня есть объект списка слоев, он содержит два изображения, один – фон, а другой – образ диска вращения, который будет распределен в верхней части фонового изображения. Т.е. я использую этот список слоев в качестве фона linearlayout, и я хочу только оживить элемент «disk_bg» в списке слоев;

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/ android"> <item android:drawable="@drawable/player_bg" /> <item android:top="166dp" > <bitmap android:id="@+id/disk_bg" android:src="@drawable/cd" android:gravity="center" /> </item> 

Я использую этот список слоев в качестве фона макета, знаете ли вы, как я могу анимировать слой disk_bg в моем приложении?

Вы можете мне помочь, большое спасибо вам ~

Вы не получите мой вопрос? Или нет способа сделать это?

Solutions Collecting From Web of "Как анимировать один элемент списка слоев"

Сначала создайте 2 (или более) ресурса списка слоев, т.е. * layer_frame1.xml * и * layer_frame2.xml *, где вы устанавливаете свои фреймы. В вашем случае, скажем, изменение андроида: верхняя часть элемента диска.

Затем создайте ресурс списка анимации, в котором вы установите время и порядок кадров:

 <?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:drawable="@drawable/layer_frame1" android:duration="100"/> <item android:drawable="@drawable/layer_frame2" android:duration="100"/> </animation-list> 

Сохраните его в файле, т.е. * drawable / player_animation.xml * и установите его как фон в представлении

 <View android:id="@+id/animation_test" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/player_animation" /> 

Наконец, в вашем коде просто скажите, когда вы хотите начать анимацию.

  ((AnimationDrawable)findViewById(R.id.animation_test).getBackground()).start(); 

Остерегайтесь не запускать анимацию внутри метода onCreate () .