开发者

What's the meaning of android:progressBarStyle attribute in ProgressBar?

I've been looking through the documentation for ProgressBar class and found these attributes:

  • android:progressBarStyle
  • android:progressBarStyleHorizontal
  • android:progressBarStyleLarge
  • android:progressBarStyleSmall

These four parameters are supposed to be a reference to some style as I take it. So the question is, what are these for? Style for the progress bar is set via android:style attribute and a reference to t开发者_开发百科he global style attributes.

Documentation doesn't say anything helpful, searched the Web, found nothing.


The four attributes that you mention can be applied to a ProgressBar's style like so:

style="?android:attr/progressBarStyleHorizontal"

The style constant android:progressBarStyleHorizontal is your typical incremental progress bar:

What's the meaning of android:progressBarStyle attribute in ProgressBar?

While the other three are varying sizes of the same circular progress bar:

style="?android:attr/progressBarStyleSmall"

What's the meaning of android:progressBarStyle attribute in ProgressBar?

style="?android:attr/progressBarStyle"

What's the meaning of android:progressBarStyle attribute in ProgressBar?

style="?android:attr/progressBarStyleLarge"

What's the meaning of android:progressBarStyle attribute in ProgressBar?

Update:

According to adamp's comments:

These are attributes of the theme that point at themed styles you can use for progress indicators...They are not attributes for ProgressBar itself.


In case if someone is looking for full block of code

<ProgressBar
android:id="@+id/ProgressBar2"
style="?android:attr/progressBarStyleLarge"
android:layout_width="match_parent"
android:layout_height="wrap_content" />


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜