Intereting Posts
AsyncTask's doInBackground (Params … params) Android Studio Warning: использование несовместимых плагинов для обработки аннотаций Диалог фрагментов без заголовка Изменение фона в библиотеке таблиц пользовательского интерфейса Android (thiagolocatelli) Android: Как добавить поддержку в поле просмотра JavaScript в WebViewClient? Android – методы в DialogListener, прикрепленные к Facebook.authorize () не попадают Referrer после обновления приложения из Android Маркета Настройка панели меню Android Background & Persistence – использование атрибута в старых версиях приводит к сбою – существует ли тема / шаблонный подход? Android – внедрение startForeground для службы? Зачем использовать SQLiteOpenHelper над SQLiteDatabase? Android – Нет активности для управления Intent {act = android.intent.action.VIEW – попытка открыть файл PDF Как реализовать слайд, чтобы показывать действия в recyclerview? AudioFlinger не смог создать дорожку записи, статус: -1, нужна помощь ifx Android: Пользовательская автономная карта с использованием изображения Определить рамки opencore или stagefright для медиапланера?

Как изменить заголовок диалогового окна 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"); } 

Результаты

пример