我正在尝试ProgressBar
使用中定义的自定义样式更改颜色style.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" />
Run Code Online (Sandbox Code Playgroud)
<style name="ProgressTheme" parent="Widget.AppCompat.ProgressBar.Horizontal">
<item name="colorAccent">#000</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我找到了一些关于如何以编程方式或通过添加一些来更改颜色的有用文章layer-list
,但我想要简单的解决方案。我想我的实施方式应该有效。
我怎样才能改变颜色?
您可以尝试使用:
mProgressBar.getProgressDrawable().setColorFilter(Color.BLACK, android.graphics.PorterDuff.Mode.SRC_IN);
Run Code Online (Sandbox Code Playgroud)
对于棒棒糖及以上,请使用:
mProgressBar.setProgressTintList(ColorStateList.valueOf(Color.BLACK));
Run Code Online (Sandbox Code Playgroud)
如果要寻找 xml 解决方案,请尝试ProgressBar
(Api 21 +) 的这些属性:
android:indeterminateTintMode="src_atop"
android:indeterminateTint="@android:color/black"
Run Code Online (Sandbox Code Playgroud)
创建下面<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>
Run Code Online (Sandbox Code Playgroud)
并将其应用为:
<ProgressBar
...
style="@style/blackProgressBar" />
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8218 次 |
最近记录: |