Существует множество способов стилизовать ListViews, чтобы придать им элегантный вид, но все они требуют изменения адаптера или написания дополнительного кода.
К сожалению, с выпуском Android 4.0 все должно измениться. Google отшлифовал свою тему Holo и придал ей новый вид. Теперь всем разработчикам рекомендуется использовать его, чтобы все приложения выглядели одинаково.
И вот в чем проблема. Google выпустил версию 4.0, но все еще есть люди, использующие более старые версии Android. Мы не можем просто оставить наши предыдущие пользовательские темы приложений и использовать Holo, потому что это испортит визуальный опыт для пользователей со старыми устройствами. И мы не можем заставить пользователей 4.0 просто использовать Holo, потому что, будем честными, он все еще не идеален.
Цель состоит в том, чтобы использовать встроенную систему тем и подготовить несколько альтернатив для Holo, которые будут отлично смотреться на всех устройствах. Затем мы можем просто переключаться между Holo и нашими темами с помощью setTheme() и никаких дополнительных проблем. К сожалению, это не так просто. Мы ограничены возможностями существующей системы тем, и некоторые вещи просто сложно сделать. И вот мой вопрос.
Принимая во внимание все, что я упомянул, как мы можем управлять внешним видом ListView? Я не могу понять, как:
Решение должно влиять на представления ListView, созданные с помощью PreferenceActivity, без каких-либо дополнительных строк кода. Все должно быть в теме:
<theme name="SampleTheme" parent="android:Theme">
...
</theme>
Прошу не выкладывать решения, не использующие стили и темы. Их можно легко найти в других вопросах здесь, в Stack Overflow.
Заранее спасибо.