Актуализация на AppCompat и черни квадратчета за отметка в PreferenceActivity, AzaGroup – екип за разработка
След като преминах към целеви API 22 и започнах да използвам съответния AppCompat, забелязах, че вPreferenceActivityна Android 4.+ квадратчетата за отметка не се показват правилно. Те бяха показани в черно, когато трябваше да са бледосини, като на Lollipop:

Причината беше, че използвахPreferenceActivityв наследен (започващ от API 21) режим, добавяйки xml настройки чрез метода addPreferencesFromResource в самата дейност. Този режим вече не се поддържа.
Правилният подход, включително използването на заглавки, е описан в документацията за PreferenceActivity. Накратко, трябва да използватеPreferenceFragment. И може да се добави към всяка дейност. В най-простата си форма изглежда така:
Въпреки товаPreferenceFragmentсе появи само в API 11 и ако трябва да поддържате по-ранни версии, трябва да потърсите персонализиранPreferenceFragment, тъй като библиотеката за поддръжка за Android по някаква причина няма такъв клас. Лично аз използвам PreferenceFragment на kolavar. Свързваме го като модул (там има ресурси), редактираме импортирането в класа MyPrefsFragment и коригираме MyPrefsActivity:
Готов. Сега можете дори да стилизирате тези квадратчета за отметка за общ дизайн, като посочите атрибута colorAccent в темата на приложението: