Есть ViewPager, каким методом можно узнать отклонение от центра страницы? То есть если страница неподвижно стоит в центре, то отклонение 0. Если начали тащить страницу влево, то отклонение растёт от 0 до 100 к примеру, в другую сторону тащим то отклонение от 0 до -100. Задержали палец на середине, где видно половину обеих страниц, то отклонение 50. Что то в этом роде нужно, перерыл методы, ничего подобного не нашел. Судя по документации, это в этом методе:
void onPageScrolled (int position,
float offset,
int offsetPixels)
Но вот как из него эти данные вытащить не знаю
Согласно документации, в этом самом onPageScrolled есть positionOffset, принимающий значения от 0 до 1 и position, соответствующий первой видимой странице.
ViewPager pager = (ViewPager) view.findViewById(R.id.pager);
pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
int selectedPage = 0;
@Override
public void onPageScrolled(int position, float positionOffset,
int positionOffsetPixels) {
if (position < selectedPage) {
onPageScrolled(positionOffset - 1);
} else {
onPageScrolled(positionOffset);
}
}
@Override
public void onPageSelected(int position) {
selectedPage = position;
}
@Override
public void onPageScrollStateChanged(int state) {
}
public void onPageScrolled(float currentPageOffset) {
Log.d("TAG", "offset: " + (int) (currentPageOffset * 100));
}
});
Но нужно понимать, что "текущая" страница изменится, как только вы отпустите ViewPager. Вообще изначальный вариант с positionOffset от 0 до 1 первой видимой страницы кажется удобнее, чем то что вы просите.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
В проекте довольно давно используется гугловая библиотека comgooglecode
Есть текстовый файл, в котором есть несколько строк которые нужно отобразить в веб-интерфейсе, сам файл лежит на диске, нужно прочитать файл...