加载屏幕没有进度对话框android

时间:2011-12-14 11:16:28

标签: android user-interface progress-bar

我正在使用异步任务,我的加载屏幕如图所示   enter image description here

但是我想只显示蓝色进度线而不是对话框。我该怎么办?

这是我的代码

      @Override
    protected Dialog onCreateDialog(int id) {
        switch (id) {
            case DIALOG_DOWNLOAD_PROGRESS: //we set this to 0
                mProgressDialog = new ProgressDialog(this);
                mProgressDialog.setProgressDrawable(getResources().getDrawable(R.drawable.progress_bar_states));
                mProgressDialog.setMessage("Downloading file...");
                mProgressDialog.setIndeterminate(false);
                mProgressDialog.setMax(100);
                mProgressDialog.setTitle("Please wait while checking new database");
                mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
                mProgressDialog.setCancelable(true);

              mProgressDialog.show();


                return mProgressDialog;
            default:
                return null;
        }
    }

或者如何在没有对话的情况下在上面的图像中仅显示53%或53/100的百分比?

我只是解决了如何在进度线上显示百分比但没有'进展'。

1 个答案:

答案 0 :(得分:0)

我用来在对话框中显示搜索栏及其进度。下面的代码R.layout.pg包含一个搜索栏。无论你想要什么,都可以添加更多代码。 在Oncreate中:

Seekbar寻求;

{
         d = new Dialog(this,
                android.R.style.Theme_Translucent_NoTitleBar);
        LayoutInflater inflter=getLayoutInflater();
        View v=inflter.inflate(R.layout.pg, null);
        seek=(SeekBar) v.findViewById(R.id.seekBar1);
        d.setContentView(v);

        d.show();
        new Myasync().execute();

    }
    Dialog d ;
class Myasync extends AsyncTask<Void, Integer, Integer> {

    boolean isTrue=true;
    int i=0;
    @Override
    protected Integer doInBackground(Void... params) 
    {

        while(isTrue)
        {

            publishProgress(i++);
            try {
                Thread.sleep(10);
            } catch (InterruptedException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            if(i>100)
            {
                isTrue=false;
            }
        }

        return null;
    }

    @Override
    protected void onPostExecute(Integer result) 
    {
        d.dismiss();
        super.onPostExecute(result);
    }

    @Override
    protected void onProgressUpdate(Integer... values) 
    {
        // TODO Auto-generated method stub
        seek.setProgress(values[0]);
        super.onProgressUpdate(values);
    }

}