2012-05-25 2 views
9

Есть много способов стилей ListViews, чтобы придать им элегантный вид, но все они связаны с модификацией адаптера или написанием дополнительного кода.Android-темы ListView

С выпуском Android 4.0, к несчастью, все должно измениться. Google отполировал свою тему Голо и дал ей новый взгляд. Теперь всем разработчикам предлагается использовать его, чтобы все приложения выглядели одинаково.

И вот в чем проблема. Google развернул 4.0, но есть люди, которые используют старые версии Android. Мы не можем просто оставить наши предыдущие темы пользовательских приложений и использовать Holo, потому что это испортит визуальный опыт для пользователей со старыми устройствами. И мы не можем заставить 4.0 пользователей просто использовать Holo, потому что будем честными - это все еще не идеально.

Цель состоит в том, чтобы использовать встроенную систему тем и подготовить некоторые альтернативы для Holo, которые отлично смотрятся на всех устройствах. Затем мы можем просто переключаться между Holo и нашими темами только с помощью setTheme() и никаких дополнительных проблем. К несчастью, это не так просто. Мы ограничены возможностями существующей системы тем, и некоторые вещи просто трудно сделать. И вот мой вопрос.

Принимая во внимание все, о чем я упоминал, как мы можем управлять просмотром ListView? Я не в состоянии выяснить, как:

  • создать список с закругленными углами и убедитесь, что фон селектор не испортит его при выборе первого/последнего элемента
  • создать закругленные углы не для списка но секции разделены заголовками, что-то вроде здесь: enter image description here

решение должно влиять на ListViews созданные PreferenceActivity без каких-либо дополнительных строк кода. Все должно содержаться в теме:

<theme name="SampleTheme" parent="android:Theme"> 
    ... 
</theme> 

Прошу не публиковать решения, которые не используют стили темы &. Их можно легко найти в других вопросах, здесь, в Stack Overflow.

Заранее спасибо.

+1

Можете проверить это: http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index. html –

+0

@JaredRummler Эта ссылка не работает. – Zety

+0

@WalR I * думаю * это одно и то же: http://romannurik.github.io/AndroidAssetStudio/ –

ответ

1

Я вижу два способа решить эту проблему.

Один из них - просто использовать тему для ваших списков, указав фон, который, в свою очередь, представляет собой 9 патчей с закругленными углами или заданной вами формой xml (с закругленными углами). Это будет иметь побочный эффект селектора строк списка, отображающий «поверх» указанного вами фона, поэтому он может испортить эффект. Это довольно просто реализовать.

Второй вариант заключается в том, чтобы всегда добавлять верхние и нижние колонтитулы в свои списки, в которых есть фоны, которые являются селекторами с закругленными углами сверху (и снизу). Вы можете указать стили для них, если хотите. Извините за этот последний комментарий, но я должен был сказать это. Пожалуйста, не пытайтесь сделать ваше приложение похожим на iPhone-приложение :)

Смежные вопросы