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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
#1

OnScroll ListView по пикселам - Программирование Android

25.02.2014, 19:26. Просмотров 824. Ответов 9
Метки нет (Все метки)

OnScroll дает только индекс верхней записи. Пытаюсь нарисовать свой скролинг рядом со списком и... если элементы большой высоты, то скролинг не двигается пока верхний не перепрыгнет на следующий.

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

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

ListView - Программирование Android
Как в ListView задавать значения Sub Item?

ListView - Программирование Android
Пытаюсь сделать по аналогии с уроком MySql + Android. Он есть проблема: ListView lv = getListView(); getListView подсвечивается...

Listview в listview - Программирование Android
Добрый.. вечер. Вопрос такого плана - есть listview созданный через кастомный адаптер, в элементах этого listview есть еще один listview,...

Listview - Программирование Android
Добрый день, В структуре ListView есть два элемента,которые он показывает Item и SubItem. В Item вставить значение не проблема,всё...

Прокрутка listview - Программирование Android
Подскажите как быть, когда пытаюсь прокрутить list он подсвечивается черный цветом.

Стиль ListView - Программирование Android
Не могу сделать, что бы каждый элемент в ListView был в отдельной рамочке при загрузке приложения. Примерно так: Получается только,...

RadioButton в ListView - Программирование Android
Есть две разметки одна со списком, другая отвечает за элемент списка в которой присутствует RadioButton. Создал я кастомный адаптер,...

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

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

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

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

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

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

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

Например: Ошибка возникает если список состоит всего из 2х строк по 5 размеров экрана каждая (в каждой строке куча текста - в примерах гугла такое есть). Скролинг рисует полоску разделенную на 2 одинаковые части и закрашивает половину. И перескочит на следующий только когда закончится первая строка в 5 экранов. Когда должен показать квадратик в 1/10 высоты. И плавно его двигать по мере плавного листания.
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
26.02.2014, 10:47     OnScroll ListView по пикселам #6
а что мешает получить первый элемент в списке и у него взять верхнюю или нижнюю границу? они изменяются то как раз в пикселях
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
26.02.2014, 17:04  [ТС]     OnScroll ListView по пикселам #7
Цитата Сообщение от NiRamz Посмотреть сообщение
взять верхнюю или нижнюю границу
А КАК? Мне это вполне подходит, но не нашел ни одного примера по этому и даже не понимаю как получить от первой строки больше чем просто выстоту. Как получить смещение первого элемента?
NiRamz
211 / 211 / 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,518
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 по пикселам
Еще ссылки по теме:

ListView и Диалог - Программирование Android
Привет. Редактирование TextView при помощи диалога. public class MainActivity extends Activity { final String LOG = "myLogs"; ...

Редактируем ListView - Программирование Android
Помогите дописать код в БД. При нажатии на строку открывается диалог, ввожу данные, нажимаю ОК и должен поменяться текст. класс БД: ...

ListView + SQLite - Программирование Android
Привет. Взял код из урока 52 на startandroid, немного его изменил public class DB { private static final String DB_NAME =...

Анимация ListView - Программирование Android
В чем суть:При вертикальном свайпе - кнопки прокручиваются. Крайняя кнопка - плавно уменьшается, а с другой стороны - плавно увеличивается....

ListView с ресурсами - Программирование Android
Всем привет! Как мне реализовать ListView 1) так чтобы визуально он был таким: p.s 1) Это я реализовал: List<String>...


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

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

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