1

我希望我的应用程序在 Activity 的布局中显示无限进度条(你知道,循环),就像 youtube 应用程序一样。我怎么能那样做?谢谢。

4

1 回答 1

2

嗨,您可以使用setProgressBarIndeterminateVisibility(boolean)来显示不确定的进度条。这是示例代码:

private Button buttonUpStartUpload = null;
        private boolean mToggleIndeterminate = false;



@Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

        setContentView(R.layout.lyt_upload_main);
        setProgressBarIndeterminateVisibility(mToggleIndeterminate);

        buttonUpStartUpload = (Button) findViewById(R.id.buttonUpStartUpload);

        buttonUpStartUpload.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                UploadingAsyncTask uploadingAsyncTask = new UploadingAsyncTask();
                uploadingAsyncTask.execute("temp","doinback","returnparam");
                }
        });


    }//onCreate Ends

    @Override
    protected void onStart() {
        // TODO Auto-generated method stub
        super.onStart();

    }

    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
    }

    public class UploadingAsyncTask extends AsyncTask<String, String, String>{

        Uploader uploader = new Uploader();
        ProgressDialog progDialogUpload = null;
        int imageIndex = 1;
        @Override
        protected void onPreExecute() {
            // TODO Auto-generated method stub
            super.onPreExecute();
            mToggleIndeterminate = !mToggleIndeterminate;
            setProgressBarIndeterminateVisibility(mToggleIndeterminate);
        }

        @Override
        protected String doInBackground(String... params) {
            // TODO Auto-generated method stub

            publishProgress("Finish","3");
            return "success";
        }

        @Override
        protected void onProgressUpdate(String... values) {
            // TODO Auto-generated method stub
            super.onProgressUpdate(values);
            if(values[0] == "Finish"){
                imageIndex++;
            }
            }

        @Override
        protected void onPostExecute(String result) {
            // TODO Auto-generated method stub
            super.onPostExecute(result);
            if(result.equalsIgnoreCase("success") || result == "success"){
                mToggleIndeterminate = !mToggleIndeterminate;
                setProgressBarIndeterminateVisibility(mToggleIndeterminate);
            }
        }       

    }//UploadingAsyncTask ends
于 2012-01-03T12:33:48.430 回答