Intereting Posts
Несколько суперклассов и повторное использование кода Android: Как вы скрываете вкладки в ActionBar? Android – два предложения, два стиля, один TextView Несколько файлов dex определяют landroid / support / annotation / AnimRes Android Gallery View Прокрутка проблемы, когда onClickListener для данных Как создать прядильщик Android без треугольника в правой части виджета Android Canvas.drawTextOnPath не выглядит корректным, если для параметра Paint установлено значение Stroke Рисование 9-патча на холсте с помощью drawBitmap Отключить автоматическую загрузку файлов расширения APK Эффект Marquee для линейной компоновки Обновлена ​​версия SDK, получив ClassNotFoundException: android.support.v4.view.ViewPager Загрузить контактный образ в битмап Нулевой указатель после захвата изображения с помощью камеры Android Элементы действия из исходного фрагмента Viewpager не отображаются Android: можно ли читать имя пакета в файле AndroidManifest.xml

Как изменить заголовок диалогового окна Appompat и цвет разделителя заголовков?

Есть ли способ изменить заголовок диалогового окна Appompat и цвет разделителя заголовков? Я не хочу использовать голой светло-голубой цвет.

Я основал эту ссылку, но для холодного света и не работаю с appcompat.

Заранее спасибо.

Solutions Collecting From Web of "Как изменить заголовок диалогового окна Appompat и цвет разделителя заголовков?"

Единственный способ изменить цвет делителя заголовка Dialog – это подклассифицировать Dialog и использовать Resources.getIdentifier для поиска заголовка заголовка. После этого все, что вам нужно, это вызов View.setBackgroundColor . Поскольку это единственный способ настроить разделитель заголовков, вы также можете пойти дальше и использовать тот же метод для настройки цвета заголовка.

Но насколько вы не можете получить ответ, который вы связали с работой для вас, трудно сказать. Вы не включаете какой-либо код или что-либо, что вы пробовали, поэтому сложно определить, почему вы не получаете нужные результаты.

Ниже приведен пример изменения цвета заголовка и цвета разделителя заголовков:

 /** * A sublcass of {@link AlertDialog} used to customize the title and title * divider colors */ public class CustomDialog extends AlertDialog { /** * Constructor for <code>CustomDialog</code> * * @param context The {@link Context} to use */ public CustomDialog(Context context) { super(context); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final Resources res = getContext().getResources(); final int yellow = res.getColor(android.R.color.holo_orange_light); // Title final int titleId = res.getIdentifier("alertTitle", "id", "android"); final View title = findViewById(titleId); if (title != null) { ((TextView) title).setTextColor(yellow); } // Title divider final int titleDividerId = res.getIdentifier("titleDivider", "id", "android"); final View titleDivider = findViewById(titleDividerId); if (titleDivider != null) { titleDivider.setBackgroundColor(yellow); } } } 

Реализация

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final CustomDialog customDialog = new CustomDialog(this); customDialog.setTitle("Title"); customDialog.setMessage("Message"); customDialog.show(); } 

Использование DialogFragment с AlertDialog.Builder

 public class CustomDialogFragment extends DialogFragment { /** * Empty constructor as per the {@link Fragment} docs */ public CustomDialogFragment() { } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { return new AlertDialog.Builder(getActivity()) .setTitle("Title") .setMessage("Message") .create(); } @Override public void onStart() { super.onStart(); final Resources res = getResources(); final int yellow = res.getColor(android.R.color.holo_orange_light); // Title final int titleId = res.getIdentifier("alertTitle", "id", "android"); final View title = getDialog().findViewById(titleId); if (title != null) { ((TextView) title).setTextColor(yellow); } // Title divider final int titleDividerId = res.getIdentifier("titleDivider", "id", "android"); final View titleDivider = getDialog().findViewById(titleDividerId); if (titleDivider != null) { titleDivider.setBackgroundColor(yellow); } } } 

Реализация

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); new CustomDialogFragment().show(getFragmentManager(), "customDialogFragment"); } 

Результаты

пример