6

我正在尝试复制您在 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);
}

卸载截图

4

3 回答 3

10

您正在使用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" />

通常,您可以通过调用 show 来决定何时.setVisibility(View.VISIBLE)显示以及.setVisibility(View.GONE)何时完成。

如果您的最低 API 为 11 并将您的活动或应用程序主题设置为@android:style/Theme.Holo您将获得ProgressBar图像中显示的内容。

如果您想在 API 11 之前的设备上获得类似的效果,请查看HoloEverywhere

于 2013-01-14T19:05:31.457 回答
4

免责声明:@iagreen 的答案仍然是正确的——要获得类似于卸载活动中的布局,最好的选择是在布局中使用它,而不是依赖窗口功能)

但是您在 Windows 功能方面走在了正确的轨道上,您只是将其中两个混合在一起。

看,这个:

setProgressBarIndeterminate(true);

请求窗口的[水平] 进度条不确定。还有这个:

setProgressBarIndeterminateVisibility(true);

显示窗口的不确定进度条——事实上,这是一个完全不同的视图。

为了进一步澄清事情,这将为您提供一个显示在窗口顶部的水平不确定进度条

requestWindowFeature(Window.FEATURE_PROGRESS);
setProgressBarIndeterminate(true);
setProgressBarVisibility(true);

这会在操作栏中为您提供一个微调器样式的进度条

requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setProgressBarIndeterminateVisibility(true);
于 2014-05-23T18:52:31.643 回答
0

那是图片中的水平进度条,Action Bar 不确定进度条是 Spinner 样式。您要么需要为操作栏创建自定义视图,要么将其作为视图放在主布局中。您可以隐藏操作栏并为特定活动制作自定义标题。只需使用 Spinner 风格的不确定进度条,这是每个人都希望在 Action Bar 中看到的。

于 2013-01-14T18:42:52.933 回答