gpt4 book ai didi

android - 如何使用圆形进度条添加数组颜色

转载 作者:行者123 更新时间:2023-11-29 15:43:28 24 4
gpt4 key购买 nike

CircularProgressDrawable

这是我在项目中使用的库。我的方法是:

<com.rey.material.widget.ProgressView
android:layout_width="48dp"
android:layout_height="48dp"
android:id="@+id/progressviewmain"
app:pv_progressStyle="@style/Material.Widget.ProgressView.Circular"
app:pv_circular="true"
android:background="#ffffff"
app:pv_progressMode="indeterminate"
app:pv_autostart="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"/>

代码是:

progressView = (ProgressView)findViewById(R.id.progressviewmain);

函数是:

private void startprogress(ListView listView, ProgressView progressView){
progressView.setVisibility(View.VISIBLE);
}
private void stopprogress(ListView listView, ProgressView progressView){
listView.setVisibility(View.VISIBLE);
progressView.setVisibility(View.GONE);
}

所有这一切都工作正常,但在文档中我们可以看到 CircularProgressDrawable 有 2 种不同的形式,我无法获得第一个颜色正在改变的形式。如何给输入颜色数组??如何使用属性?

最佳答案

doc 中所述您可以使用 cpd_strokeColors

为 View 数组提供颜色

cpd_strokeColors - The array of colors will be used as stroke's color (for indeterminate mode).

更新 1:要更改属性,您必须像这样在 res/values/styles.xml 中创建样式:

<style name="CircularProgress">
<item name="cpd_padding">0dp</item>
<item name="cpd_initialAngle">0</item>
<item name="cpd_maxSweepAngle">270</item>
<item name="cpd_minSweepAngle">1</item>
<item name="cpd_strokeSize">4dp</item>
<item name="cpd_strokeColor">@color/colorAccent</item>
<item name="cpd_strokeSecondaryColor">@android:color/transparent</item>
<item name="cpd_reverse">false</item>
<item name="cpd_strokeColors">@array/rainbow</item>
<item name="cpd_rotateDuration">1000</item>
<item name="cpd_transformDuration">600</item>
<item name="cpd_keepDuration">200</item>
<item name="cpd_transformInterpolator">@android:anim/decelerate_interpolator</item>
<item name="pv_progressMode">buffer</item>
<item name="cpd_inAnimDuration">0</item>
<item name="cpd_outAnimDuration">@android:integer/config_mediumAnimTime</item>
</style>

然后将其分配给您的 View :

<com.rey.material.widget.ProgressView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/progressviewmain"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
app:pv_autostart="true"
app:pv_circular="true"
app:pv_progressMode="indeterminate"
app:pv_progressStyle="@style/CircularProgress"/>

它会起作用。

关于android - 如何使用圆形进度条添加数组颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36821714/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com