Xamarin:进度条改变颜色

时间:2015-03-02 21:35:37

标签: android visual-studio-2012 colors xamarin android-progressbar

我有一个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);

2 个答案:

答案 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" />