使用系统ProgressBar实现三色进度条

使用系统ProgressBar实现如图三色进度条:

XML 复制代码
//布局中

<ProgressBar
            android:layout_width="0dp"
            android:layout_height="8dp"
            android:layout_marginLeft="16dp"
            app:layout_constraintBottom_toBottomOf="@id/photo"
            app:layout_constraintLeft_toRightOf="@id/photo"
            app:layout_constraintRight_toRightOf="parent"
            android:max="100"
            android:min="0"
            android:progress="10"
            android:progressTint="@color/color_FF71D4F8"
            style="@style/CustomProgressBarStyle"
            android:secondaryProgressTint="@color/color_FF3F66F2"
            android:secondaryProgress="50"/>


//style 样式
 <style name="CustomProgressBarStyle" parent="Widget.AppCompat.ProgressBar.Horizontal">
        <item name="android:progressDrawable">@drawable/bg_process</item>
 </style>

drawable:bg_process.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>
            <corners android:radius="4dp" />
            <solid android:color="@color/color_FFC9CBDF" />
        </shape>
    </item>

    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <corners android:radius="5dip" />

            </shape>
        </clip>
    </item>

    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <corners android:radius="5dip" />

            </shape>
        </clip>
    </item>

</layer-list>

这个背景图是抄的 Widget.AppCompat.ProgressBar.Horizontal中的背景图的写法:

相关推荐
JMchen1231 小时前
Android后台服务与网络保活:WorkManager的实战应用
android·java·网络·kotlin·php·android-studio
crmscs2 小时前
剪映永久解锁版/电脑版永久会员VIP/安卓SVIP手机永久版下载
android·智能手机·电脑
localbob2 小时前
杀戮尖塔 v6 MOD整合版(Slay the Spire)安卓+PC端免安装中文版分享 卡牌肉鸽神作!杀戮尖塔中文版,电脑和手机都能玩!杀戮尖塔.exe 杀戮尖塔.apk
android·杀戮尖塔apk·杀戮尖塔exe·游戏分享
机建狂魔2 小时前
手机秒变电影机:Blackmagic Camera + LUT滤镜包的专业级视频解决方案
android·拍照·摄影·lut滤镜·拍摄·摄像·录像
hudawei9962 小时前
flutter和Android动画的对比
android·flutter·动画
lxysbly4 小时前
md模拟器安卓版带金手指2026
android
儿歌八万首5 小时前
硬核春节:用 Compose 打造“赛博鞭炮”
android·kotlin·compose·春节
消失的旧时光-19437 小时前
从 Kotlin 到 Dart:为什么 sealed 是处理「多种返回结果」的最佳方式?
android·开发语言·flutter·架构·kotlin·sealed
Jinkxs8 小时前
Gradle - 与Groovy/Kotlin DSL对比 构建脚本语言选择指南
android·开发语言·kotlin
&有梦想的咸鱼&8 小时前
Kotlin委托机制的底层实现深度解析(74)
android·开发语言·kotlin