#android
#Android
Вопрос:
Кто-нибудь может увидеть, что я делаю не так. Я создаю анимацию, загружаю ее с 50 кадрами. Попытка запустить его, но ничего не происходит. Начальный стартовый кадр есть, но ничего не происходит. Я напечатал количество кадров, которые имеет объект анимации, и он говорит 50.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ShowCircle(50);
}
public void ShowCircle(final int percentage){
final ImageView ring = (ImageView)findViewById(R.id.ring);
animation = new AnimationDrawable();
ring.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
for(int i = 0; i != percentage; i ){
try
{
final int id = R.drawable.class.getField("rings_" i).getInt(0);
animation.addFrame(getResources().getDrawable(id), 100);
}
catch(NoSuchFieldException n)
{
MessageBox(n.toString());
}
catch(IllegalAccessException e)
{
MessageBox(e.toString());
}
}
animation.setOneShot(false);
ring.setBackgroundDrawable(animation);
ring.post(new Starter());
MessageBox("# of frames: " Integer.toString(animation.getNumberOfFrames()));
}
});
}
class Starter implements Runnable{
public void run(){
animation.start();
}
}
Ответ №1:
Хорошо, глупый я, для ImageView было изображение по умолчанию. Анимированное изображение было установлено только на задний план, и именно поэтому оно никогда не было видно…