安卓横向进度条?

15

我想实现一个像这样的进度条

enter image description here

请问有什么方法或者库可以帮助我实现吗?


你好@yousseefhassan,你已经实现了这个自定义进度条吗? - Irfan Qureshi
1个回答

39

我看到很多人在查看这篇文章,所以我认为我应该编辑并分享一个例子:

注意(这个例子还没有完成,但我想这是一个起点)

GitHub: Github 示例

enter image description here

在这个例子中,重要的部分如下: 在drawable文件夹中创建一个名为custom_progress_bar_horizontal.xml的xml文件,并添加以下内容。
<?xml version="1.0" encoding="UTF-8"?>

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@android:id/background">
        <shape>
            <padding
                android:bottom="3dip"
                android:top="3dip"
                android:left="3dip"
                android:right="3dip"/>
            <corners
                android:radius="5dip" />
            <gradient
                android:startColor="#2a2b2f"
                android:centerColor="#2a2b2f"
                android:centerY="0.50"
                android:endColor="#2a2b2f"
                android:angle="270" />
        </shape>
    </item>
    <item
        android:id="@android:id/progress">
        <clip>
            <shape>
                <corners
                    android:radius="5dip" />
                <gradient
                    android:startColor="#ff0e75af"
                    android:endColor="#ff1997e1"
                    android:angle="90" />
            </shape>
        </clip>
    </item>
</layer-list>

在styles.xml中添加以下代码。
<style name="CustomProgressBar" parent="android:Widget.ProgressBar.Horizontal">
    <item name="android:indeterminateOnly">false</item>
    <item name="android:progressDrawable">@drawable/custom_progress_bar_horizontal</item>
    <item name="android:minHeight">10dip</item>
    <item name="android:maxHeight">20dip</item>
</style>

在您的活动布局中添加样式后,请添加以下内容:
    <ProgressBar
        android:id="@+id/customProgress"
        style="@style/CustomProgressBar"
        android:layout_width="match_parent"/>

下面在框架中显示的进度条有点棘手,因为您需要扩展ProgressBar类并在那里进行更改。
我将留下一些示例,并在将它们添加到我的github项目时通知您。
如果您想以自己的方式显示进度,则可以使用以下示例:NumberProgressBar 其他进度条示例: Custom progress bar 1 Custom progress bar 2 Custom progress bar 3 更新: 还要检查DiscreteSeekBar这是一个很好的GitHub项目。
Gradle:编译'org.adw.library:discrete-seekbar:1.0.1'

更新 #2

也许这个库也会有用: https://github.com/ManolescuSebastian/USeekbar

干杯!


4
我搜索了这个主题并找到了这篇帖子。 :) - level32

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接