android - 如何在android中使用材料设计制作多色不确定线性进度指示器?
问题描述
我想实现一个类似这样的进度条:
在材料设计文档中,它说我需要设置indeterminateAnimationType
以contiguous
实现这一目标并提供三种颜色。indicatorColor
但是当属性只接受一种颜色时如何提供三种颜色呢?
当我运行这段代码时,它会抛出一个异常Contiguous indeterminate animation must be used with 3 or more indicator colors
:
<com.google.android.material.progressindicator.LinearProgressIndicator
android:id="@+id/progress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:indeterminate="true"
app:indeterminateAnimationType="contiguous"
app:hideAnimationBehavior="outward"
app:showAnimationBehavior="inward"
app:trackThickness="5dp" />
解决方案
使用连续动画至少需要 3 种指示器颜色。
只需将indicatorColor
属性与数组一起使用:
<com.google.android.material.progressindicator.LinearProgressIndicator
android:id="@+id/progress"
android:indeterminate="true"
app:indeterminateAnimationType="contiguous"
app:indicatorColor="@array/progress_colors"
../>
与array/progress_colors
:
<integer-array name="progress_colors">
<item>@color/....</item>
<item>@color/....</item>
<item>@color/....</item>
</integer-array>
推荐阅读
- apache-camel - 如何集成 osgi-blueprint 和 apache camel,任何示例代码?
- django - Mixin 无法正常工作 - Django
- marklogic - 我们应该同步失败的增量备份吗?
- javascript - 更新、退出、更新、输入带有过渡的模式
- c# - 如何使用 C# 阅读 Restricted excel?Oledb 驱动程序或互操作是最好的方法吗?
- c# - C# SelectListItem 自定义 CSS
- java - spring boot redis 生菜异常
- amazon-ecs - 带有通配符的 rsyslog 日志文件
- testng - 如何多次运行appium测试?
- c# - 获取列表的值
按字符串标识符