嘿伙计们,我为我的应用程序创建了这个进度条,但我不能得到那种看起来像红色或蓝色的黄色橙色。
<ProgressBar
android:id="@+id/progress_bar"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="250sp"
android:layout_height="wrap_content"
android:progress="2"
android:layout_marginTop="82dp"
android:max="3"
android:indeterminate="false"
android:layout_below="@+id/imageView"
android:layout_centerHorizontal="true" />
上面是我的进度条xml代码。
任何帮助人? :)
非常感谢! :)
答案 0 :(得分:31)
如果Android版本是5.0及以上,你只需要设置
android:indeterminateTint="@color/BLACK"
android:indeterminateTintMode="src_in"
对于较低版本,我使用此
mProgressBar.getIndeterminateDrawable().setColorFilter(getResources()
.getColor(R.color.primary_color),PorterDuff.Mode.SRC_IN);
答案 1 :(得分:10)
在您的可绘制文件夹中创建一个名为custom_progress_bar.xml
的新xml文件并将其粘贴到那里:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Define the background properties like color etc -->
<item android:id="@android:id/background">
<clip>
<shape>
<solid android:color="#000000" />
</shape>
</clip>
</item>
<!-- Define the progress properties like start color, end color etc -->
<item android:id="@android:id/progress">
<clip>
<shape>
<solid android:color="#FFFFFF" />
</shape>
</clip>
</item>
在<ProgressBar>
添加此属性:
android:progressDrawable="@drawable/custom_progress_bar"
根据您的喜好更改2种颜色。我把#FFFFFF
和#000000
分为白色和黑色。
答案 2 :(得分:4)
转到 styles.xml 并更改基本应用主题中的 colorAccent 值,例如
<item name="colorAccent">{COLOR}</item>
我正在使用minSdkVersion 15,它对我有用。
答案 3 :(得分:3)
如果您想更改ProgressBar颜色,不是可绘制,您可以将此样式用作ProgressBar的主题
<style name="ProgressBar" parent="Widget.AppCompat.ProgressBar">
<item name="colorAccent">@color/white_primary</item>
</style>
答案 4 :(得分:1)
尝试此操作并添加自定义颜色
Progressbar mBar= (ProgressBar) findViewById(R.id.spinner);
mBar.getIndeterminateDrawable().setColorFilter(Color.parseColor("#80DAEB"),
android.graphics.PorterDuff.Mode.MULTIPLY);
希望这有帮助
答案 5 :(得分:1)
如果 android:indeterminateTint
不起作用,试试这个:
<ProgressBar
android:id="@+id/progress_bar"
style="@android:style/Widget.ProgressBar.Horizontal"
android:progressTint="@color/Red" <--------------------------
android:progressBackgroundTint="@color/Blue" <---------------
android:layout_width="250sp"
android:layout_height="wrap_content"
android:progress="2"
android:layout_marginTop="82dp"
android:max="3"
android:indeterminate="false"
android:layout_below="@+id/imageView"
android:layout_centerHorizontal="true" />
答案 6 :(得分:0)
供以后参考:
对于API 21+,我们可以直接在XML中使用
android:indeterminateTint="@android:color/white"
答案 7 :(得分:0)
像这样在style.xml中设置主题
<style name="ProgressBar" parent="Widget.AppCompat.ProgressBar">
<item name="colorAccent">@color/dark_blue</item>
</style>
然后像这样在progressBar中使用这种样式作为“主题”,
<ProgressBar
android:id="@+id/progressBar"
android:theme="@style/ProgressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="440dp"
app:layout_constraintEnd_toEndOf="@+id/splashTitle"
app:layout_constraintHorizontal_bias="0.493"
app:layout_constraintStart_toStartOf="@+id/splashTitle"
app:layout_constraintTop_toBottomOf="@+id/splashTitle" />
快乐编码