【问题标题】:loading screen without progress dialog android加载屏幕没有进度对话框android
【发布时间】:2011-12-14 11:16:28
【问题描述】:

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

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

这是我的代码

      @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 的百分比?

我只是解决了如何在进度线上显示百分比但没有“进度”的问题。

【问题讨论】:

    标签: android user-interface progress-bar


    【解决方案1】:

    我曾经在对话框中显示搜索栏及其进度。下面的代码 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);
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-30
      • 2020-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多