Прокрутка анимированных обоев Android с помощью ViewPager с использованием setWallpaperOffsets
Я делаю приложение для запуска Android, и я хочу сделать прокрутку обоев при прокрутке страницы, поэтому я добавляю onPageChangeListener в mViewPager и меняю смещения обоев
mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener(){
@Override
public void onPageScrolled(int p1, float p2, int p3) {
}
@Override
public void onPageSelected(int p1) {
WallpaperManager.getInstance(c).setWallpaperOffsets(v.getWindowToken(),(float)p1/(myPageItemsCount-1), 0);
}
@Override
public void onPageScrollStateChanged(int p1) {
}
});
Проблема в том, что я хочу, чтобы обои плавно прокручивались при смене страницы, но в приведенном выше коде они будут непосредственно менять обои на соответствующую позицию, пожалуйста, помогите.
1 ответ
Решение
Вот что я сделал, и это работает как шарм:
pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
WallpaperManager.getInstance(getBaseContext()).setWallpaperOffsets(pager.getWindowToken(), (float) (position + positionOffset) / (myPageItemsCount-1), 0);
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
}