Повторение фона с лимитом - PullRequest
1 голос
/ 11 апреля 2011

У меня есть ListView.Я хотел бы заполнить каждую строку ListView фоном слева до x% ...

Итак, что я хочу:

  1. Элемент - 50% фона окрашено
  2. Предмет - 20% фона окрашено
  3. Предмет - 90% фона окрашено

Возможно ли это?

Спасибо за ответ!

Ответы [ 2 ]

0 голосов
/ 11 апреля 2011

Насколько я знаю, это невозможно из коробки. Но я думаю, что вы можете архивировать с небольшой хитростью.

Вы должны определить пользовательский вид строк. Это представление имеет RelativeLayout в качестве корневого элемента, для которого вы можете установить желаемый цвет фона.

Затем вы добавляете другой элемент представления к корневому элементу, который покрывает часть корневого элемента. Цвет фона этого элемента должен быть черным и выровнен по правому краю. RelativeLayout предоставляет множество атрибутов, которые вы можете использовать для упорядочивания элементов.

Кроме того, вы должны написать собственный адаптер, который обрабатывает создание представлений отдельных элементов списка. Когда вы переопределяете метод getView () , в котором элементы представления для каждой отдельной строки создаются и надуваются в ListView, вы вычисляете и устанавливаете ширину "cover" -элемента таким образом, чтобы он покрывал часть корневого элемента.

Сложная часть будет состоять в том, чтобы вычислить ширину элемента обложки так, чтобы остаток корневого элемента, который не покрыт и все еще виден, соответствовал проценту, который вы хотите получить.

Здесь вы найдете краткое руководство о том, как реализовать настраиваемый адаптер с настраиваемым представлением для элементов списка.

0 голосов
/ 11 апреля 2011

Это возможно благодаря концепции нестандартных макетов.Это хорошая статья , чтобы узнать больше.Кроме того, я думаю, вам нужно пройти учебник NotePad на официальном сайте Android.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...