Intereting Posts
Что такое «цвет акцента»? Android setUserVisibleHint никогда не вызывается? Вызывается onPause () или onStop (), даже если телефон умирает из-за отсутствия питания? Как разработать интерфейс, который будет выглядеть как родной для Android с помощью jQuery-mobile? OnTouch дает странные сенсорные точки Android Android ImageButton, как иметь область с клики, которая больше, чем само изображение? Ошибка: не удалось найти компонент акустической системы «ionic-platform-web-client» Как изменить цвет определенной области на карте Google api v2 в андроиде Вход в Android Twitter не работает с Fabric SDK – Обратный звонок не должен быть пустым Цель YouTube, ошибка 400 Android jack toolchain не распознает java.util.function.Predicate in stream Как создать экран заставки / Запуск экрана, который исчезает после загрузки приложения? (Реагировать родной) Не сгладить Основное содержимое, когда отображается DrawerLayout? Подключение к защищенной паролем Wi-Fi сети с помощью оболочки adb Android / SQLite: колонки Insert-Update для сохранения идентификатора

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

Результаты

пример