在安卓ProgressBar代码提示里的
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
这个style的高度怎么都填充不上去,有点坑
要使用这个
style="@android:style/Widget.ProgressBar.Horizontal"
才能达到高度填充的效果
接下来设置进度条的背景和进度条颜色,效果如下:
在drawable新开一个文件:bar_color(里面的两个item的id就代表背景和进度)
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!--这里是设置progressbar的背景样式-->
<item
android:id="@android:id/background"
android:drawable="@drawable/progress_bar_background" />
<!--这里是设置progressbar的进度条样式-->
<item android:id="@android:id/progress">
<scale
android:drawable="@drawable/shape_progressbar_progress"
android:scaleWidth="100%" />
</item>
</layer-list>
这两个item的drawble可以直接放背景图和进图条的图
android:scaleWidth="100%"这个必须设置否则没有进度效果
-----------------------------------------------------------------------------------------------------------------------
为了达到渐变效果还是开多两个文件
首先是背景文件progress_bar_background
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="2dp" />
<solid android:color="#7031DDB5" />
</shape>
进度文件shape_progressbar_progress
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="5dp" />
<gradient android:startColor="#005EFF"
android:endColor="#FD0000"/>
</shape>
然后在往xml中的progress上加
android:progressDrawable="@drawable/bar_color"
就可以了
注:shape文件都能加渐变色、圆角和描边