gpt4 book ai didi

android - 更改水平进度条颜色

转载 作者:行者123 更新时间:2023-12-04 12:50:22 26 4
gpt4 key购买 nike

问题描述

我正在尝试使用 style.xml 中定义的自定义样式更改 ProgressBar

的颜色

布局.xml

<ProgressBar
android:id="@+id/progress_bar"
style="@style/ProgressTheme"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="true"
android:indeterminateBehavior="repeat" />

样式.xml

<style name="ProgressTheme" parent="Widget.AppCompat.ProgressBar.Horizontal">
<item name="colorAccent">#000</item>
</style>

问题

我找到了一些关于如何以编程方式或通过添加一些 layer-list 更改颜色的有用文章,但我想要简单的解决方案。而且我想我的实现方式应该有效。

我怎样才能改变颜色?

最佳答案

你可以尝试使用:

mProgressBar.getProgressDrawable().setColorFilter(Color.BLACK, android.graphics.PorterDuff.Mode.SRC_IN);

对于 Lollipop 及以上,使用:

mProgressBar.setProgressTintList(ColorStateList.valueOf(Color.BLACK));

如果寻找 xml 解决方案,请尝试 ProgressBar 的这些属性(API 21 +):

android:indeterminateTintMode="src_atop"
android:indeterminateTint="@android:color/black"

创建以下 <style.../>styles.xml(v21)适用于 Api 21+:

<style name="blackProgressBar" parent="Widget.AppCompat.ProgressBar.Horizontal">
<item name="android:indeterminateTintMode">src_atop</item>
<item name="android:indeterminateTint">@android:color/black</item>
</style>

并将其应用为:

<ProgressBar
...
style="@style/blackProgressBar" />

关于android - 更改水平进度条颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39771796/

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