Каков наилучший способ принести дизайн материалов в настройки с помощью AppCompat? Я читал некоторые вопросы, и основные моменты кажутся такими:
-
Официальные рекомендации позволяют избегать
PreferenceActivity
при работе в API > 11 (и я). Вместо этого следует использоватьPreferenceFragment
s; -
Использование PreferenceActivity было бы плохо и потому, что вы не можете расширять оба
PreferenceActivity
иActionBarActivity
; -
Вы можете использовать общий
ActionBarActivity
и загрузить в негоPreferenceFragment
(API > 11). Таким образом, виджеты предпочтений, загруженные из ресурсов, становятся тонированными AppCompat, но это не верно для любого виджета (см. здесь); -
С предлагаемым решением, в любом случае, весь пользовательский интерфейс выглядит не совсем. (см. изображение на Android 4.2), даже если наследуется от темы AppCompat.
-
Другим способом может быть расширение
PreferenceActivity
(API > 1). Как сказано, вы не будете расширятьActionBarActivity
, а просто наследуете тему AppCompat. -
Наконец, вы можете просто сделать свое собственное действие
ActionBarActivity
и иметь дело с виджетами, макетами, полями, SharedPreferences самостоятельно.
В настоящий момент я не знаю рабочего решения. Я видел, как некоторые дискуссии обсуждались в материале Криса Банеса, но решения не было предложено. Я спрашиваю:
- Удалось ли некоторым из вас добиться чистого (как можно большего) материала в отношении предпочтений и как?
- Будут ли улучшения в v7 в отношении этой проблемы в будущем?