我正在尝试复制在ICS中卸载应用时发现的体验。特别是标题栏下的不确定进度指示器。我尝试在requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS)
上使用Activity
和各种方法,但无济于事。它改为在屏幕/标题栏的右上角显示一个旋转进度条。我错过了一些简单的东西吗?或者这是完全定制的吗?
以下是我正在使用的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
super.onCreate(savedInstanceState);
setProgressBarIndeterminate(true);
setProgressBarIndeterminateVisibility(true);
}
答案 0 :(得分:9)
您正在使用ActionBar
不确定进度条,但您正在寻找ProgressBar
视图。
您可以通过编程方式创建View
或将其添加到布局文件中,如 -
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:indeterminate="true" />
通常情况下,您可以通过调用.setVisibility(View.VISIBLE)
来显示,并在完成后.setVisibility(View.GONE)
来决定显示时间。
如果您的最低API为11,并将您的活动或应用主题设置为@android:style/Theme.Holo
,那么您的图片中会显示ProgressBar
。
如果您希望在API 11之前的设备上产生类似的效果,请查看HoloEverywhere
答案 1 :(得分:4)
免责声明:@ iagreen的答案仍然是正确的 - 要获得类似于卸载活动中的布局,您最好的选择就是在布局中使用它,而不是依赖于窗口功能)
但是你在使用Windows功能的正确轨道上,你只是混合了两个。
见,这:
setProgressBarIndeterminate(true);
请求窗口的 [水平]进度条不确定。这个:
setProgressBarIndeterminateVisibility(true);
显示窗口的不确定进度条 - 事情是,这是一个完全不同的视图。
为了进一步说明问题,这会让您在窗口顶部显示水平不确定进度条
requestWindowFeature(Window.FEATURE_PROGRESS);
setProgressBarIndeterminate(true);
setProgressBarVisibility(true);
这会在操作栏中为您提供微调器式进度条
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setProgressBarIndeterminateVisibility(true);
答案 2 :(得分:0)
这是图像中的水平进度条,Action Bar不确定进度条是Spinner样式。您需要为操作栏创建自定义视图,或将其作为主视图中的视图。您可以隐藏操作栏并为特定活动创建自定义标头。只需使用Spinner样式的不确定进度条,这是每个人都希望在Action Bar中看到的内容。