Android, анимация в прогресс-баре не запускается - PullRequest
0 голосов
/ 25 февраля 2012

В моем приложении я хочу переопределить внешний вид индикатора выполнения по умолчанию.По умолчанию это прямоугольник с анимацией загрузки.Итак, что я сделал?

Сначала в res / drawable я создал loadinganim.xml (loading01-6 - мои .png изображения).

<?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/loading01" android:duration="300" />  
    <item android:drawable="@drawable/loading02" android:duration="300" />  
    <item android:drawable="@drawable/loading03" android:duration="300" />  
    <item android:drawable="@drawable/loading04" android:duration="300" />  
    <item android:drawable="@drawable/loading05" android:duration="300" />  
    <item android:drawable="@drawable/loading06" android:duration="300" /> 

</animation-list>  

Затем в res \ layout я создалдругой xml-файл с именем layout_loading.xml.

<?xml version="1.0" encoding="utf-8"?>

<ImageView  
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/blankImageView"  
    android:layout_width="wrap_content"  
    android:layout_height="wrap_content"  
    android:src="@drawable/loading01"/>

В коде у меня есть кнопка, которая при нажатии на нее отображает индикатор выполнения.Код:

private ProgressDialog progressBar;
private AnimationDrawable myAnimation;

Button btnCustom1 = (Button) findViewById(R.id.custom1);
        btnCustom1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                progressBar = ProgressDialog.show(MainActivity.this, "", "");
                progressBar.setContentView(R.layout.layout_loading);
                progressBar.setCancelable(true);
                final ImageView imageView = (ImageView) progressBar.findViewById(R.id.blankImageView); 
                imageView.setBackgroundResource(R.drawable.loadinganim);
                myAnimation = (AnimationDrawable) imageView.getBackground();
                myAnimation.start(); 
            }
        });

Проблема в том, что когда я нажимаю на кнопку, изображение будет отображаться, но анимация отсутствует.как следующее изображение.Подскажите пожалуйста, как мне запустить анимацию?или где моя вина?

Спасибо за помощь.

enter image description here

1 Ответ

0 голосов
/ 25 февраля 2012

Я нашел ответ.

На самом деле вышеприведенный код не имеет проблем, и он правильный.Причина не показа анимации заключается в ошибке (по крайней мере, я думаю) в Android 2.3.3 (API 10).Когда я запускал проект на другом эмуляторе (API 15), он нормально анимировался, и с ним не было никаких проблем.

Следовательно, Эй, парень из Google , пожалуйста, сделайте что-нибудь, это настоящая ошибка.

...