Я использую ProgressDialog при загрузке следующей операции в моем приложении Xamarin.Android.
ProgressDialog progressDialog = new ProgressDialog(this);
Я могу установить цвет круга программно:
Drawable circle = new ProgressBar(this).IndeterminateDrawable.Mutate();
circle.SetColorFilter(Color.Red, PorterDuff.Mode.SrcIn);
progressDialog.SetIndeterminateDrawable(circle);
и я могу установить цвет текста программно:
SpannableString ss = new SpannableString("This is my message");
ss.SetSpan(new ForegroundColorSpan(Color.Red), 0, ss.Length(), 0);
progressDialog.SetMessage(ss);
Но я не могу найти способ установить цвет фона программно.Может быть, вы можете помочь мне с этой проблемой.Я не хочу использовать Style.Theme.
EDIT :
Кажется, что создание полного пользовательского представления, которое используется в AlertDialog, является лучшим решениемв этом случае.Спасибо за подсказку Иоахим
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/llProgressDialog"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
android:padding="20dp"
android:orientation="horizontal">
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:layout_marginLeft="20dp"
android:text= "Laden ..."
android:layout_gravity="center"
android:id="@+id/tvProgressDialog"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
</LinearLayout>