Android – 在没有对话框的情况下显示一个不确定的进度条

当button点击处理时,我想在屏幕的中心显示我的进度条。 但我只想要没有对话框的进度条..

有什么办法可以做到这一点?

Solutions Collecting From Web of "Android – 在没有对话框的情况下显示一个不确定的进度条"

SDK中的ApiDemos完整地解释了它。 您想要的示例名为:ProgressBar3.java,可以在\ ApiDemos \ src \ com \ example \ android \ apis \ view \

另外,如果您想删除对话框的边框,以便只显示进度条,您可以将对话框本身定义为透明视图/叠加层(在示例中也进行了说明)。

如果您不需要对话框,只需将progressBar与其他任何视图项目一样放置在布局中,并将默认情况下的可见性设置为“INVISIBLE”或“GONE”。

然后,只要在代码中使用setVisibility将其更改为“可见”,就可以在需要时显示它,并在完成任务后,通过再次使其成为“INVISIBLE”或“GONE”来重新隐藏它。

例如

MyTask { // get handle on ProgressBar ViewItem defined in XML (id:progressBar) ProgressBar progressBar = findViewById(R.id.progressBar); //starting task, show progress bar progressBar.setVisibility(View.VISIBLE); // Do some stuff... //task done, hide it again progressBar.setVisibility(View.GONE); } 

这是一个简单的版本,全部在UI线程中完成,但是如果使用asynchronous任务或线程处理程序,这应该很容易适应。 只需在UI线程中显示,隐藏和发布任何更新到对话框,然后在后台执行长时间运行的任务。

@reflog:这不是我所需要的。

@lostInTransit:

正确的做法如下:

  1. 创build你自己的对话框
  2. 把进度条作为对话框上的唯一视图
  3. 设置对话窗口背景透明
  4. 显示对话框。

而已。 它适用于1.5至2.1的设备。 没有试过2.2。

-Yogesh

@Jesse Finnerty的回答解决了我的问题。 我所做的是:

 private ProgressBar mprogressBar; 

里面的oncreate()就像其他button和textviews我做的,mprogressBar =(ProgressBar)findViewById(R.id.progressBar);

然后,在我想要纺车出现的地方,我给的命令

 mprogressBar.setVisibility(View.VISIBLE); 

在我希望它消失的地步。

 mprogressBar.setVisibility(View.INVISIBLE); 

这实际上是在切换。 所以当我的程序中的状态改变时,进度条就会出现并消失

有一个很好的例子来说明Yogesh在做什么:

如何在ProgressDialog中轻松地集中进度指示器(当没有标题/文本传递时)

信贷发送到Macarse发布。