powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / ListView Scroll позиция
20 сообщений из 20, страница 1 из 1
ListView Scroll позиция
    #38762273
Фотография НикоДимиден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. Подскажите пожалуйста , как можно узнать позицию списка в ListView ? Борюсь уже больше 17 часов , но пока не могу найти нормального решения .

Пример:
Вот этот метод, устанавливает количество пикселей от верхней границы ListView :

listView3.setSelectionFromTop(0,-270);

Теперь список автоматически будет начинаться с -270 пикселей от верхний границы ListView.

1.Есть ли похожий метод , только который вычисляет положения а не устанавливает его ?
2.Каким образом можно вычислять местоположение прокручиваемого списка ?
3.Или подскажите алгоритм вычисления.
...
Рейтинг: 0 / 0
ListView Scroll позиция
    #38762316
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Позиция получается листенером. Или речь о координатах?

Рисунок-бы чтоль приложил...
...
Рейтинг: 0 / 0
ListView Scroll позиция
    #38762422
Фотография НикоДимиден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

Я хотел , но как бы так попонятнее нарисовать ... Сейчас и рисунок и видео для ясности сделаю.


Вот так я прослушиваю событие на прокрутку ListView :


listView3.setOnScrollListener(new OnScrollListener() {
public void onScrollStateChanged(AbsListView view, int scrollState) {
//Отслеживаем касание , оффкасание(когда убираем палец)
}

public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
Log.d(LOG_TAG, "scroll: firstVisibleItem = " + firstVisibleItem
+ ", visibleItemCount" + visibleItemCount
+ ", totalItemCount" + totalItemCount); //Отслеживаем процесс прокрутки(движения)

}
});
...
Рейтинг: 0 / 0
ListView Scroll позиция
    #38762488
Фотография НикоДимиден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

wadman,

Нужно как то отслеживать прокрутку ListView, а точнее дистанцию прокрутки , в пиксилях . Расстояние ,от верхней границы начальной строки в ListView, до того места , до которого мы прокрутили ListView. Отслеживать нужно в пиксилях.





Скриншот:



Видео:
[spoiler]
YouTube Video
...
Рейтинг: 0 / 0
ListView Scroll позиция
    #38762494
Фотография НикоДимиден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НикоДимиден,

...
Рейтинг: 0 / 0
ListView Scroll позиция
    #38762500
Фотография НикоДимиден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Напомню , что установить подобный размер в пиксилях можно при помощи этого метода :

setSelectionFromTop(int,int);

авторpublic void setSelectionFromTop (int position, int y)

Added in API level 1
Sets the selected item and positions the selection y pixels from the top edge of the ListView. (If in touch mode, the item will not be selected but it will still be positioned appropriately.)

Parameters
position - Index (starting at 0) of the data item to be selected.
y - The distance from the top edge of the ListView (plus padding) that the item will be positioned.



Пример:
listView3.setSelectionFromTop(0,-270);
...
Рейтинг: 0 / 0
ListView Scroll позиция
    #38762876
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НикоДимиденНужно как то отслеживать прокрутку ListView, а точнее дистанцию прокрутки , в пиксилях .
Создаешь свой адаптер и при создании view запоминаешь размер в, например, tag.
...
Рейтинг: 0 / 0
ListView Scroll позиция
    #38763445
Фотография НикоДимиден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,
Что значит размер в tag?
Вы хотели написать в px или dp ?

tag - Единици измерения такой нету же.
...
Рейтинг: 0 / 0
ListView Scroll позиция
    #38763462
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НикоДимиденЧто значит размер в tag?
http://developer.android.com/intl/ru/reference/android/view/View.html#Tags
...
Рейтинг: 0 / 0
ListView Scroll позиция
    #38763602
Фотография НикоДимиден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,
Не пойму Ваш ход мыслей.

Вот так можно вычислить , допустим расстояние от верхней граници ListView до видимого верхнего TextView, в пиксилях :

int ViewPosiciton2=ListView2.getChildAt(0).getTop();


Что Вы имеете ввиду не понятно . Объясните пожалуйста причем тут TEG?
...
Рейтинг: 0 / 0
ListView Scroll позиция
    #38763660
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НикоДимиденВот так можно вычислить , допустим расстояние от верхней граници ListView до видимого верхнего TextView, в пиксилях :

int ViewPosiciton2=ListView2.getChildAt(0).getTop();
Ух как глухо-то. :)

Adapter для ListView предназначен для создания "строк", при их создании как раз и нужно высчитывать размер строки и/или входящих в нее контролов. А тэг это вспомогательное свойство, в нем можно запомнить как число, так и строку или вовсе любой свой объект. Затем им воспользоваться.

К примеру, я в одном из приложений в тэг заношу следующую структуру:
Код: java
1.
2.
3.
4.
class ViewHolder {
        TextView tv;
        long tag;
    }
...
Рейтинг: 0 / 0
ListView Scroll позиция
    #38763663
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://startandroid.ru/ru/component/search/?searchword=listview&searchphrase=all&Itemid=89 информация к сведению, читать снизу вверх. В т.ч. о своих адаптерах.
...
Рейтинг: 0 / 0
ListView Scroll позиция
    #38763796
Фотография НикоДимиден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

Считывать количество строк я умею , но нужно считывать с точностью до пиксиля или dp.
...
Рейтинг: 0 / 0
ListView Scroll позиция
    #38763800
Фотография НикоДимиден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,
Адаптер создал , строки считываю , а как считывать расстояние с точностью до пиксиля,а не с точностью до строки?
...
Рейтинг: 0 / 0
ListView Scroll позиция
    #38763815
Фотография НикоДимиден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

Как можно перехватить количество контролов в строке?
...
Рейтинг: 0 / 0
ListView Scroll позиция
    #38763840
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НикоДимиденwadman,

Как можно перехватить количество контролов в строке?

Listview.getChildAt(index);
...
Рейтинг: 0 / 0
ListView Scroll позиция
    #38763844
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НикоДимиденwadman,
Адаптер создал , строки считываю , а как считывать расстояние с точностью до пиксиля,а не с точностью до строки?
У вью есть методы *measure*, завтра скину пример.
...
Рейтинг: 0 / 0
ListView Scroll позиция
    #38764276
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например, так (после создания вьюшек/контролов):
Код: java
1.
2.
        detailData.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
        defaultDetailHeight = detailData.getMeasuredHeight();
...
Рейтинг: 0 / 0
ListView Scroll позиция
    #38764449
Фотография НикоДимиден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

Спасибо
...
Рейтинг: 0 / 0
ListView Scroll позиция
    #38764477
Фотография НикоДимиден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джибс,

Спасибо
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / ListView Scroll позиция
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]