我当前的进度对话框冻结了 UI,我的意思是,在显示对话框时我无法使用该应用程序,我无法移动或单击任何按钮。是否可以在没有任何焦点的情况下显示对话框?(所以我可以单击当前活动中的按钮)。
问问题
332 次
1 回答
1
ProgressDialog 与任何对话框一样,总是会从您当前的活动中窃取焦点。如果您想在当前布局中嵌入进度条,请使用ProgressBar,setVisible(true)
在您开始长时间运行的操作并setProgress
更新进度条时使用(如果您不知道任务需要多长时间,请使用不确定模式)。
设置进度条的样式主要是通过他们的样式完成的,选择一种内置的进度条类型:
- 默认样式(即未指定样式):纺车
Widget.ProgressBar.Horizontal
- 单杠Widget.ProgressBar.Small
- 更小的纺车Widget.ProgressBar.Large
- 更大的纺车Widget.ProgressBar.Inverse
- 浅色背景上的纺车Widget.ProgressBar.Small.Inverse
- 浅色背景上较小的纺车Widget.ProgressBar.Large.Inverse
- 浅色背景上更大的纺车
您可以通过将style
属性添加到ProgressBar
xml 来应用这些:
<ProgressBar
style="@android:style/Widget.ProgressBar.Horizontal"
... />
如果您需要自定义着色,您可以使用此处发布的解决方案,该解决方案利用setColorFilter。
于 2012-11-02T22:54:55.620 回答