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
上一篇 下一篇

猜你喜欢

热点阅读