通过style自定义圆形Progressbar的图片和大小

沙小白
2023-12-01
<ProgressBar Android:id="@+id/progressbar"
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"  
      android:layout_gravity="center_vertical">
</ProgressBar>
默认就是圆形状态,一直转啊转啊,设置style属性可以改变其大小和形状
style="@android:style/Widget.ProgressBar.Inverse"设置中号圆圈
style="@android:style/Widget.ProgressBar.Small"设置小号圆圈
style="@android:style/Widget.ProgressBar.Large""设置大号圆圈
style="@android:style/Widget.ProgressBar.Horizontal"设置成水平进度条

如果感觉以上属性还不能满足你对圆圈的要求,可以考虑自定义圆圈的大小以及圆圈的图片

自定义style
<!-- 自定义progressbar半径 -->
    <style name="CustomProgressStyle" parent="@android:style/Widget.ProgressBar.Large"> 
        <item name="android:indeterminateDuration">800</item>
        <item name="android:indeterminateDrawable">@drawable/blue_circle_rotate</item> 
        <item name="android:minWidth">27dip</item>  
        <item name="android:maxWidth">27dip</item>  
        <item name="android:minHeight">27dip</item>  
        <item name="android:maxHeight">27dip</item>  
</style>



其中<item name="android:indeterminateDuration">800</item>是控制圆圈的旋转周期的,以毫秒级,
<item name="android:indeterminateDrawable">@drawable/blue_circle_rotate</item> 这个属性是自定义旋转图片的,
android:minWidth,android:maxWidth,android:minHeight,maxHeight顾名思义,这写属性就是控制旋转圆圈的大小的,大小可自定
 类似资料: