ListView vs LinearLayout - PullRequest
       3

ListView vs LinearLayout

16 голосов
/ 14 августа 2010

Я пишу горизонтальный телевизионный вид, похожий на тот, который вы знаете по системам tivo, и тому подобное. Для каждого канала есть строка с программами на следующие 6 часов или около того, ширина которой пропорциональна времени их воспроизведения.

Моя идея - написать собственный виджет для каждой строки и разместить их друг над другом. Это должно позволить мне загружать данные постепенно, а не использовать одно большое пользовательское представление. Однако мне все еще понадобятся кнопки вперед / назад вверху страницы, которые обновляют все строки при нажатии.

Теперь я не уверен, стоит ли мне помещать эти виды в ListView или LinearLayout.

Я собрал следующие плюсы и минусы:

  • ListView
    • Pros
      • Память эффективна - перерабатывает скрытые виды
      • Кажется, что каждый может использовать его в сообществе Android для чего угодно.
      • Может быть проще сделать это лениво при обновлении строк и, следовательно, потребовать меньше ресурсов процессора.
    • Cons
      • Overkill - я не буду использовать большинство функций, которые он может предложить
      • Может быть немного сложнее прикрепить clickListeners.
  • LinearLayout
    • Pros
      • Прост в использовании. Делает то, что вы ожидаете.
    • Cons
      • Я не видел, чтобы он использовался где-либо для длинных списков.
      • Возможно, это медленнее?

Аргумент «Кажется, что все используют» для ListView также включает в себя приложение «Master» для Twitter, которое Google использует для демонстрации «Хорошего дизайна Android». Они также, похоже, не используют большинство своих функций.

Есть ли у вас опыт такой работы? Есть ли какие-то рекомендации, которые я пропустил при чтении документов?

Ответы [ 2 ]

2 голосов
/ 14 августа 2010

Это расписание похоже на приложение Google IO 2010.Вы можете оформить заказ их код и посмотреть, как они это сделали.

1 голос
/ 14 сентября 2010

В итоге я использовал собственный виджет. Я до сих пор не знаю, какой из перечисленных наиболее эффективен.

...