41

我一直在查看ProgressBar类的文档并找到这些属性:

  • 安卓:进度条样式
  • android:progressBarStyleHorizo​​ntal
  • android:progressBarStyleLarge
  • android:progressBarStyleSmall

我认为这四个参数应该是对某种风格的引用。那么问题来了,这些是干什么用的?进度条的样式是通过 android:style 属性和对全局样式属性的引用来设置的。

文档没有说任何有用的东西,搜索了网络,一无所获。

4

3 回答 3

75

您提到的四个属性可以应用于 aProgressBar的样式,如下所示:

style="?android:attr/progressBarStyleHorizontal"

样式常量android:progressBarStyleHorizontal是典型的增量进度条:

替代文字

而其他三个是相同圆形进度条的不同大小:

style="?android:attr/progressBarStyleSmall"

替代文字

style="?android:attr/progressBarStyle"

替代文字

style="?android:attr/progressBarStyleLarge"

替代文字

更新:

根据adap的评论:

这些是主题的属性,它们指向可用于进度指示器的主题样式......它们不是 ProgressBar 本身的属性。

于 2010-11-27T02:21:54.137 回答
2

如果有人正在寻找完整的代码块

<ProgressBar
android:id="@+id/ProgressBar2"
style="?android:attr/progressBarStyleLarge"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
于 2018-08-02T21:57:14.833 回答
1

The confusing part is that normally, you can define a default style for a widget (e.g. a button) like this:

<item name="android:buttonStyle">@style/Widget.AppCompat.Button.Colored</item>

All buttons will then by default have this style applied.

One would think that the progressBarStyle attribute would do the same for ProgressBar if doing this:

<item name="android:progressBarStyle">@style/Widget.AppCompat.ProgressBar</item>

But that is not the case, since progressBarStyle belongs to the ActionBar styleable.

于 2019-11-12T21:04:13.333 回答