2016-02-25 2 views
2

Я создал AlertDialog и хотел изменить цвет заголовка AlertDialog, но получить сбой в каждой попытке. Он работает очень хорошо на Android 5.0 и выше с цветом заголовка черного цвета, но когда он работает под Android 5.0, цвет заголовка меняется на белый, я использовал стиль и многие другие источники из Интернета, но не смог, мой код выглядит следующим образом:изменить название цвет alertDialog ниже android 5.0

AlertDialog.Builder builder = new AlertDialog.Builder(context); 
    builder.setMessage(msg) 
      .setCancelable(true) 
      .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int id) { 
        dialog.dismiss(); 
       } 
      }); 

    final AppCompatDialog dialog = builder.create(); 
    dialog.setTitle("VALIDATION_TITLE error"); 
    dialog.setCancelable(false); 
    dialog.show(); 

Мой вопрос прибудет-х решается следующей строкой,

dialog.setTitle(Html.fromHtml("<font color='#FF7F27'>Set IP Address</font>")) 

, но я не хочу, чтобы использовать эту функцию, anyhelp было бы весьма признателен. Вы можете увидеть скриншот диалогового окна моей от этого chat link

+0

создания пользовательских XML и установить его на диалог –

+0

http://stackoverflow.com/questions/14439538/how-can-i-change-the-color-of-alertdialog-title- and-the-color-of-the-line-under –

+0

int PlateId = dialog.getContext(). getResources(). getIdentifier ("android: id/alertTitle", null, null); TextView title = (TextView) dialog.findViewById (PlateId); title.setTextColor (.. если это помогает? – Dhina

ответ

5

Использование пользовательской темы для настройки Диалоговое окно предупреждения

AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.MyAlertDialogStyle); 
builder.setTitle("My Dialog"); 
builder.setMessage(msg) 
       .setCancelable(true) 
       .setPositiveButton("OK", new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int id) { 
         dialog.dismiss(); 
        } 
       }); 
     final AppCompatDialog dialog = builder.create(); 
     dialog.show(); 

styles.xml - Пользовательский стиль

<style name="MyAlertDialogMaterialStyle" parent="Theme.AppCompat.Light.Dialog.Alert"> 
     <!-- Used for the buttons --> 
     <item name="colorAccent">@color/md_teal_900</item> 
     <!-- Used for the title and text --> 
     <item name="android:textColorPrimary">@color/white</item> 
     <!-- Used for the background --> 
     <item name="android:background">@color/color_primary_dark</item> 
    </style> 
+0

Это не работает DroidHacker, ниже Andorid 5.0 ... – TheReprator

+0

убедитесь, что вы используете «AlertDialog» из поддержки Lib.Он должен работать. – Darish

+0

Да, это и это мой файл импорта, импортируйте android.support.v7.app.AlertDialog; – TheReprator

0

Создать настраиваемое представление и установить в Диалог с использованием

dialog.setContentView (ВАШ ОБЗОР ПРОСМОТРА ЗДЕСЬ);

+0

Я не хочу использовать пользовательский макет, и спасибо mate – TheReprator

3

Первый тип

AlertDialog.Builder builder = new AlertDialog.Builder(this, 

введите

android.R.style.Theme_DeviceDefault_Dialo 

затем Crtl + Space, то вы получите некоторые предложения. Вы можете выбрать, как этот

AlertDialog.Builder builder = new AlertDialog.Builder(this, 
    android.R.style.Theme_DeviceDefault_Dialog); 

или

AlertDialog.Builder builder = new AlertDialog.Builder(this, 
    android.R.style.Theme_DeviceDefault_Dialog_MinWidth); 

или

AlertDialog.Builder builder = new AlertDialog.Builder(this, 
    android.R.style.Theme_DeviceDefault_Dialog_NoActionBar); 

или

AlertDialog.Builder builder = new AlertDialog.Builder(this, 
    android.R.style.Theme_DeviceDefault_Dialog_NoActionBar_MinWidth); 

или

AlertDialog.Builder builder = new AlertDialog.Builder(this, 
    android.R.style.Theme_DeviceDefault_DialogWhenLarge); 

и т.д ...

Смежные вопросы