Android系统。你自己的进步吧?

时间:2013-12-05 05:16:28

标签: android progress-bar customization asynctaskloader animationdrawable

搜索的第4个小时,没有结果全部相同。我们不应该这样做的事实。 告诉我如何实现以下内容:

  1. 执行某些操作的AsyncTask
  2. 以下形式有25张图片: 图片 enter image description here
  3. 有Sheet Animation xml:

     <animation-list
             xmlns:android="http://schemas.android.com/apk/res/android"
             android:oneshot="true"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content">
             <item android:drawable="@drawable/a1" android:duration="250"/>
             <item android:drawable="@drawable/a2" android:duration="250"/>
             <item android:drawable="@drawable/a3" android:duration="250"/>
             <item android:drawable="@drawable/a4" android:duration="250"/>
             <item android:drawable="@drawable/a5" android:duration="250"/>
             <item android:drawable="@drawable/a6" android:duration="250"/>
             <item android:drawable="@drawable/a7" android:duration="250"/>
             <item android:drawable="@drawable/a8" android:duration="250"/>
             <item android:drawable="@drawable/a9" android:duration="250"/>
             <item android:drawable="@drawable/a10" android:duration="250"/>
             <item android:drawable="@drawable/a11" android:duration="250"/>
             <item android:drawable="@drawable/a12" android:duration="250"/>
             <item android:drawable="@drawable/a13" android:duration="250"/>
             <item android:drawable="@drawable/a14" android:duration="250"/>
             <item android:drawable="@drawable/a15" android:duration="250"/>
             <item android:drawable="@drawable/a16" android:duration="250"/>
             <item android:drawable="@drawable/a17" android:duration="250"/>
             <item android:drawable="@drawable/a18" android:duration="250"/>
             <item android:drawable="@drawable/a19" android:duration="250"/>
             <item android:drawable="@drawable/a20" android:duration="250"/>
             <item android:drawable="@drawable/a21" android:duration="250"/>
             <item android:drawable="@drawable/a22" android:duration="250"/>
             <item android:drawable="@drawable/a23" android:duration="250"/>
             <item android:drawable="@drawable/a24" android:duration="250"/>
             <item android:drawable="@drawable/a25" android:duration="250"/>
             </animation-list>
    
    • 有xml标记:
  4.   <RelativeLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          android:layout_width="match_parent"
          android:layout_height="match_parent" >
          <ImageView
              android:id="@+id/image"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_gravity="bottom|left|right|top"
              android:layout_margin="50dp" /> </RelativeLayout>
    

    如何在方法中获取AsyncTask:

      

    protected void onProgressUpdate(Integer ... progress){           }

    工作进度条不是无限的,只有在将数据加载到AsynkTask时才会有效。

    有时会发生数据已启动动画且仍在进行或没有营业额数据且动画结束的情况。

    请告诉我如何解决这个问题。 感谢所有回复的人!

1 个答案:

答案 0 :(得分:0)

这样的东西,但是这段代码显示了为什么正常的进度条对话框/

public class MainActivity extends Activity {
    private static final String TAG = "MyApp";
    private ProgressDialog progressDialog;
    Button buttonStart;
    public String a;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        buttonStart = (Button) findViewById(R.id.buttonStart);   

    }
    public void onclick(View v) {
        new MyTask().execute();
    }

    class MyTask extends AsyncTask<String, Integer, Void> {
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            buttonStart.setVisibility(View.INVISIBLE);
            progressDialog = new ProgressDialog(MainActivity.this);
            progressDialog.setCancelable(true);
            progressDialog.setProgressDrawable(getResources().getDrawable(R.drawable.a1));
            progressDialog.show();
        }
        @Override
        protected Void doInBackground(String... urls) {
           for (int i = 1; i < 25; i ++) {
                a = "a" + i;
            }
            return null;
        }

        @Override
        protected void onProgressUpdate(Integer... values) {
            super.onProgressUpdate(values);       
            Resources res = getResources();
            int myId = res.getIdentifier(a, "drawable", "app.pogress");
            Drawable d = res.getDrawable(myId);
            progressDialog.setProgressDrawable(getResources().getDrawable(R.drawable.a1));
            progressDialog.setProgressDrawable(d);
        }

        @Override
        protected void onPostExecute(Void result) {
            super.onPostExecute(result);

        }


    }


}

错误在哪里?