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:
While the other three are varying sizes of the same circular progress bar:
style="?android:attr/progressBarStyleSmall"
style="?android:attr/progressBarStyle"
style="?android:attr/progressBarStyleLarge"
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.
精彩评论