4

У меня есть ProgressDialog, который выглядит, как это на Galaxy Tab 10,1"
enter image description hereКак изменить цвет ProgressDialog

и как это на Galaxy Tab 7"
enter image description here

I хочу как Диалоги выглядеть так же:
ближайшим, что я получаю, используя следующий стиль

<style name="popupStyle" parent="android:Theme.Dialog">
<item name="android:textColor">#FFFFFFFF</item>
<item name="android:background">#FF000000</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>

что приводит к этому enter image description here

Так что мои вопросы:
- Как я могу удалить границу вокруг заголовка «Пожалуйста, подождите»?
- Как изменить общую границу с синего на белый?
- Как настроить/уменьшить ширину?

ответ

1

Это article может дать вам несколько советов по стилизации ваших диалогов, и они будут выглядеть одинаково для обеих целей.

+0

Это была интересная статья. Я применил другой ColorFilter, чтобы сделать все оттенки серого. –

+0

опубликуйте какой-то код здесь, поскольку ссылки только ответы амортизируются на SO. – Gattsu

+0

Не могу поверить, что никто не поддержал лучший ответ. – Borzh

9
progressDialog = new ProgressDialog(context):  
progressDialog.show(); 
TextView tv1 = (TextView) progressDialog.findViewById(android.R.id.message); 
tv1.setTextSize(20); 
tv1.setTypeface(yourCustomTF); 
tv1.setText("your msg"); 

Делая это таким образом, вы можете изменить текст сообщения, а также настроить весь вид получая их компоненты из ProgressDialog, что показано. Помните, вы можете получить идентификатор вида, используя findViewById() после progressDialog.show(), потому что представление создается после show().

+0

Я еще не успел избавиться от синих фонов, используя ваше предложение, хотя я считаю, что это должно быть возможно. Это, вероятно, более чистое решение, чем принятое решение, если я смогу заставить его работать. –

+0

Он выбрасывает NullPointerException в tv1.setTextSize (20) ;. После создания шоу он не получает viewbyid. – lifemoveson

+1

его работа в моем конце, здесь «android.R.id.message» - это идентификатор TextView, платформа Android, для отображения сообщения о диалоге прогресса. вы должны изучить класс ProgressDialog для лучшего понимания. если вы не используете progressDialog.show(); перед получением tv1 из progressDialog, тогда tv1 будет исключением nullpointer. –