Мы можем использовать Imageview setImageResource, так как это будет эффективно, чем рисовать, см. Ниже код для него.
Этот код может быть использован для отображения картинки, связанной с gif incase, если у вас есть многослойное изображение gif. Просто разделить GIF в индивидуальном формате PNG с онлайн-инструмента и поставить изображение в Drawable как ниже порядка
image_1.png, image_2.png и т.д.
Have обработчик, чтобы изменить изображение динамически.
int imagePosition = 1;
Handler handler = new Handler();
Runnable runnable = new Runnable() {
public void run() {
updateImage();
}
};
public void updateImage() {
appInstance.runOnUiThread(new Runnable() {
@Override
public void run() {
int resId = getResources().getIdentifier("image_" + imagePosition, "drawable", appInstance.getPackageName());
gifImageViewDummy.setImageResource(resId);
imagePosition++;
//Consider you have 30 image for the anim
if (imagePosition == 30) {
//this make animation play only once
handler.removeCallbacks(runnable);
} else {
//You can define your own time based on the animation
handler.postDelayed(runnable, 50);
}
//to make animation to continue use below code and remove above if else
// if (imagePosition == 30)
//imagePosition = 1;
// handler.postDelayed(runnable, 50);
//
}
});
}
взглянуть на это [Учебник] (http://www.anddev.org/viewtopic.php?t=575) Надеюсь, что это помогает !! –