Можно ли определить, что первый элемент ViewPager пытается прокрутить влево?
Я пытаюсь получить опыт, подобный истории в Instagram, который закрывается при прокрутке слева на первом элементе.
Я могу удерживать и заполнять список пар в методе ViewPager.OnPageChangeListener
интерфейса *1004* и проверять, повторяется ли position 0 scrolled by 0.0
N раз, закрыть представление, но это звучит избыточно.
Есть еще какие-нибудь советы? Заранее спасибо.
private int currentPagePosition = 0;
ViewPager.OnPageChangeListener onPageChangeListener = new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i1) {
// TODO Hold pair list and fill with i and v values
Log.d("ViewPager", "onPageScrolled from " + i + " by " + v);
}
@Override
public void onPageSelected(int selectedPagePosition) {
Log.d("ViewPager", "onPageSelected pos: " + selectedPagePosition);
if (currentPagePosition != selectedPagePosition) {
// do something
}
currentPagePosition = selectedPagePosition;
}
@Override
public void onPageScrollStateChanged(int i) {
switch (i) {
case ViewPager.SCROLL_STATE_IDLE:
if (currentPagePosition == 0) {
// TODO if pair list contains N times repeated 0 to 0.0 items close the view
}
Log.d("ViewPager", "onPageScrollStateChanged IDLE on " + currentPagePosition);
break;
case ViewPager.SCROLL_STATE_DRAGGING:
Log.d("ViewPager", "onPageScrollStateChanged DRAGGING from " + currentPagePosition);
break;
}
}
};