SeekBar 高度是一条线
2020-03-19 本文已影响0人
爱言语论
今天要实现一个类似柱状图的进度条。就想到用seekbar,然后发现seekbar和progressbar都是一条线。花了两个小时 解决方案如下
<ProgressBar
android:id="@+id/seekbarRate
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_marginTop="20dp"
android:clickable="false"
android:focusable="false"
android:indeterminate="false"
android:max="100"
android:progress="20"
android:progressDrawable="@drawable/ic_hor_progress"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvReworkQty" />
style="@style/Widget.AppCompat.ProgressBar.Horizontal" 这个是属性是设置横向
android:progressDrawable属性是设置背景;tips 设置background属性是无效的!
ic_hor_progress如下
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<color android:color="@color/bg_range_black"></color>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<color android:color="@color/bg_range_black"></color>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<color android:color="@color/seekOrange"></color>
</clip>
</item>
</layer-list>
这样就好了,实际效果如下
progress.png