0

我当前的进度对话框冻结了 UI,我的意思是,在显示对话框时我无法使用该应用程序,我无法移动或单击任何按钮。是否可以在没有任何焦点的情况下显示对话框?(所以我可以单击当前活动中的按钮)。

4

1 回答 1

1

ProgressDialog 与任何对话框一样,总是会从您当前的活动中窃取焦点。如果您想在当前布局中嵌入进度条,请使用ProgressBarsetVisible(true)在您开始长时间运行的操作并setProgress更新进度条时使用(如果您不知道任务需要多长时间,请使用不确定模式)。

设置进度条的样式主要是通过他们的样式完成的,选择一种内置的进度条类型:

  • 默认样式(即未指定样式):纺车
  • Widget.ProgressBar.Horizontal- 单杠
  • Widget.ProgressBar.Small- 更小的纺车
  • Widget.ProgressBar.Large- 更大的纺车
  • Widget.ProgressBar.Inverse- 浅色背景上的纺车
  • Widget.ProgressBar.Small.Inverse- 浅色背景上较小的纺车
  • Widget.ProgressBar.Large.Inverse- 浅色背景上更大的纺车

您可以通过将style属性添加到ProgressBarxml 来应用这些:

 <ProgressBar
     style="@android:style/Widget.ProgressBar.Horizontal"
     ... />

如果您需要自定义着色,您可以使用此处发布的解决方案,该解决方案利用setColorFilter

于 2012-11-02T22:54:55.620 回答