我有一个ProgressBar xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/progressBar"
style="@android:style/Widget.ProgressBar.Large" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="25sp"
android:text="Loading..." />
</LinearLayout>
我需要更改默认颜色(灰色)。我需要以编程方式或xml格式更改颜色。
在我的活动中,我有:
SetContentView(Resource.Layout.LoadingBar);
var progressBar = FindViewById<ProgressBar>(Resource.Id.progressBar);
答案 0 :(得分:3)
我认为这就是你要找的东西。我的例子是如果秒值低于10,则进度条颜色变为红色。
if (seconds < 10) {
progressBar.ProgressDrawable.
SetColorFilter (Android.Graphics.Color.Red, Android.Graphics.PorterDuff.Mode.Multiply);}
答案 1 :(得分:0)
此代码更改为预期颜色和屏幕中心
<ProgressBar
android:id="@+id/loading_progress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:visibility="invisible"
android:indeterminate="true"
android:indeterminateTintMode="src_atop"
android:indeterminateTint="@color/colorprimary"
android:progressDrawable="@drawable/login_loading" />