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

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

listView3.setSelectionFromTop(0,-270);

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

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

Рисунок-бы чтоль приложил...
...
Рейтинг: 0 / 0
30.09.2014, 17:35
    #38762422
НикоДимиден
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView Scroll позиция
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
30.09.2014, 18:22
    #38762488
НикоДимиден
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView Scroll позиция
wadman,

wadman,

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





Скриншот:



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

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

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
01.10.2014, 09:40
    #38762876
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView Scroll позиция
НикоДимиденНужно как то отслеживать прокрутку ListView, а точнее дистанцию прокрутки , в пиксилях .
Создаешь свой адаптер и при создании view запоминаешь размер в, например, tag.
...
Рейтинг: 0 / 0
01.10.2014, 15:30
    #38763445
НикоДимиден
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView Scroll позиция
wadman,
Что значит размер в tag?
Вы хотели написать в px или dp ?

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

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

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


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

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

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

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

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

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

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

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

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

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


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