Форум программистов, компьютерный форум CyberForum.ru

OnScroll ListView по пикселам - Android

Восстановить пароль Регистрация
 
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
25.02.2014, 19:26     OnScroll ListView по пикселам #1
OnScroll дает только индекс верхней записи. Пытаюсь нарисовать свой скролинг рядом со списком и... если элементы большой высоты, то скролинг не двигается пока верхний не перепрыгнет на следующий.

Можно ли получить высоту списка в пикселах?
Можно ли получить смещение верхнего элемента в пикселах за пределами окошка?
Можно ли поймать факт того что мы достигли конца списка?

Ведь в обычном (встроенном в андроид-списки) скролинге есть все это!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2014, 19:26     OnScroll ListView по пикселам
Посмотрите здесь:

Android Listview
Android ListView
Android spinner в ListView
ListView Android
Android id ListView
Android из БД в ListView
Android ListView и Диалог
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
verylazy
Заблокирован
25.02.2014, 19:52     OnScroll ListView по пикселам #2
а проблема в чем?
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
25.02.2014, 20:18  [ТС]     OnScroll ListView по пикселам #3
Цитата Сообщение от verylazy Посмотреть сообщение
а проблема в чем?
1) в отличии от стандартного скролинга в списке получаю не плавное движение, а ступенчатое - при смене верхней строчки. На больших строчках при коротком списке СИЛЬНО прыгает.

2) если я в конце списка и помещается на экране (например) 4.5 строки, то не могу вычислить что скроллинг в конце. Всегда показывает начало 5го от конца. Всегда остается зазор.

на встроенном таких проблем нет...
verylazy
Заблокирован
25.02.2014, 20:33     OnScroll ListView по пикселам #4
честно говоря яснее не стало
А с кодом не проще будет? а то тяжело такой даст ист фантастиш представить только со слов.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
25.02.2014, 22:29  [ТС]     OnScroll ListView по пикселам #5
Цитата Сообщение от verylazy Посмотреть сообщение
А с кодом не проще будет?
Кода уже больше 5 страниц в чужом огромном проекте (больше мегабайта кода). Вырезать только нужное и загнать в отдельный проект - тяжело.

Попробую обьяснить еще раз:

1) Рядом со списком рисуется свой скролиг на отдельном канвасе. (Нужна своя подложка под скролингом. Да и то за что хватают пальцем должно быть красивее стандартного FastScroll'a.)

2) Прежде чем убрать стандартный скролинг, пытаюсь поделать ВСЕ функции стандартного скролинга. (тащить пальцем за скролинг как за FastScroll, реагировать на изменение позиции в списке при листании пальцем по самим строкам и командами, показывать какая часть списка сейчас видна)

НО...
3) Мне МАЛО знать индекс позиции начального и конечного элемента видимого на экране в текущий момент и общее количество записей в списке для правильного скролинга!!! (только это мне дает OnScroll)

Строки бывают разной высоты и не всегда листаются пальцем полностью (иногда хочется пролистать пальцем только на несколько пикселов)

Нужны ПИКСЕЛЫ а не индексы! для плавной отрисовки.
Или даже размеры и позиция стандартного скролига в пикселах.

Например: Ошибка возникает если список состоит всего из 2х строк по 5 размеров экрана каждая (в каждой строке куча текста - в примерах гугла такое есть). Скролинг рисует полоску разделенную на 2 одинаковые части и закрашивает половину. И перескочит на следующий только когда закончится первая строка в 5 экранов. Когда должен показать квадратик в 1/10 высоты. И плавно его двигать по мере плавного листания.
NiRamz
210 / 210 / 16
Регистрация: 26.12.2010
Сообщений: 691
26.02.2014, 10:47     OnScroll ListView по пикселам #6
а что мешает получить первый элемент в списке и у него взять верхнюю или нижнюю границу? они изменяются то как раз в пикселях
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
26.02.2014, 17:04  [ТС]     OnScroll ListView по пикселам #7
Цитата Сообщение от NiRamz Посмотреть сообщение
взять верхнюю или нижнюю границу
А КАК? Мне это вполне подходит, но не нашел ни одного примера по этому и даже не понимаю как получить от первой строки больше чем просто выстоту. Как получить смещение первого элемента?
NiRamz
210 / 210 / 16
Регистрация: 26.12.2010
Сообщений: 691
27.02.2014, 11:07     OnScroll ListView по пикселам #8
view.getLeft, .getTop, .getRight, .getBottom
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
07.03.2014, 08:34  [ТС]     OnScroll ListView по пикселам #9
все еще не решил проблему...
Цитата Сообщение от NiRamz Посмотреть сообщение
view.getLeft, .getTop, .getRight, .getBottom
Как получить view элемента в списке? Желательно по номеру?

Добавлено через 1 час 7 минут
все! кажется нашел! Ожидал найти в адаптере, а нашел листвью:
=lv1.getChildAt(firstVisibleItem);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.03.2014, 11:11     OnScroll ListView по пикселам
Еще ссылки по теме:

Android Редактируем ListView
Android Изменить ListView
Android ListView
Android Listview в listview
Android Кастомизация ListView

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
NiRamz
210 / 210 / 16
Регистрация: 26.12.2010
Сообщений: 691
07.03.2014, 11:11     OnScroll ListView по пикселам #10
именно так, в адаптере хранятся элементы и по мере необходимости дергаются, в лейауте же мы можем дернуть то что видно на экране и обычно по несколько итемов за пределами.
Yandex
Объявления
07.03.2014, 11:11     OnScroll ListView по пикселам
Ответ Создать тему
Опции темы

Текущее время: 04:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru