我正在使用异步任务,我的加载屏幕如图所示
但是我想只显示蓝色进度线而不是对话框。我该怎么办?
这是我的代码
@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的百分比?
我只是解决了如何在进度线上显示百分比但没有'进展'。
答案 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);
}
}