2015-07-08 2 views
0

У меня есть viewPager с 2 страницами на каждой странице У меня есть listView около 200 строк. Ряд этих двух listViews одни и те же, но с двумя разницей:Какой из них лучше? Надуйте новый Xml или setColor предметов

  • цвет ряда
  • Икона ряда

Теперь мой вопрос, какая из них лучше использовать:

изменить цвет и значок программно или создать два разных формата XML?

Моя строка что-то вроде этого (вы можете увидеть значок & цвет, который я хочу изменить):

enter image description here

ответ

1

В случае, если каждый из ListView имеет 1 цвет:
Я пошел бы с вариант макета: это позволяет вам настраивать больше свойств в будущем, и это позволяет вам писать меньше кода. Меньше кода улучшает читаемость.

В случае, когда оба ListViews имеют 2 цвета в каждом ряду:
Здесь не имеет значения, как много. У вас есть два сценария:

  1. Вы изменить значок и цвет динамически
  2. создаются две раскладки

С опцией 1, вы незначительные изменения в макете при обновлении/связывании представлений, поэтому производительность должны быть минимально затронуты.
С опцией 2 должно быть 2 вида вида (в адаптере). Оба типа просмотра будут кэшироваться и повторно использоваться, когда это необходимо. Это, возможно, потребует (минимальной) дополнительной памяти, поскольку кэш просмотра должен быть рассчитан на 2 типа просмотра.

+0

Да читаемость улучшена, но как насчет производительности? как я знаю, что фрагменты в viewPager кэшируются этой точкой зрения, знаете ли вы, какой из них лучше? – Amir

+0

Вы имеете в виду, что у каждого списка есть по-разному цветные предметы, или у них обоих есть разноцветные предметы? –

+0

listview1: все строки похожи на приведенные выше рисунки && listview2, все строки такие же, как и выше, но они имеют синий цвет, а значок - это еще одна вещь. – Amir

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