画像を含むビューページャーで作業しています。ビューページャに2つのオプションを実装しました。ユーザーは画像をスクロールすることができ、画像も自動的にスクロールします。今問題は、相互に作用する機能の両方です。アクティビティの開始時に自動スクロールが開始されますが、手動でスクロールさせてビューページャの4番目の画像に到達させると、自動スクロール機能が2番目のビューページャに戻ります。画像の手動スライドと一緒にビューページャーでオートスクロールを使用する方法
手動でスクロールして3番目の位置に到達した場合、自動スクロールは3番目の位置から開始し、4番目の位置に移動する必要があります。
マニュアルスクロールのための私のコードは次のとおりです。
_mViewPager = (ViewPager) view.findViewById(R.id.imageviewPager);
_adapter = new ImageViewPagerAdapter(getActivity(), list);
_mViewPager.setAdapter(_adapter);
_mViewPager.setCurrentItem(0, true);
mIndicator.setViewPager(_mViewPager);
mIndicator.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
// Toast.makeText(getActivity(), "Scroller is called 1: " + item_count, Toast.LENGTH_SHORT).show();
}
@Override
public void onPageSelected(int position) {
// Toast.makeText(getActivity(), "Scroller is called 2", Toast.LENGTH_SHORT).show();
}
@Override
public void onPageScrollStateChanged(int state) {
// Toast.makeText(getActivity(), "Scroller is called 3", Toast.LENGTH_SHORT).show();
}
});
や画像の自動スクロールのためのコードは、私がループロジックを作るためのハンドラを使用している、以下の通りです。
handler.postDelayed(new Runnable() {
@Override
public void run() {
_mViewPager.setCurrentItem(item_count);
sizeOfImages = globals.getImagesUrl().size();
if (item_count == sizeOfImages) {
reverse = 1;
item_count--;
} else {
if (reverse == 0) {
item_count++;
} else {
item_count--;
if (item_count == 0) {
reverse = 0;
}
}
}
handler.postDelayed(this, 3000);
}
}, 3000);
助けてください。
は
このライブラリを使用していただきありがとうございます。目的の動作に応じて、現在の方向に基づいて1を加算または減算する必要があります。 –
私はすでにそれを試しましたが、それはさらに、私の仕事は、このロジックを実装した場合、さらに複雑になりましたitem_countは2回増分されました.1つは手動スライドで、もう1つは自動スライドで –
ここで 'item_count'をインクリメントしないでください。それを 'position':' item_count = position; 'に設定します。 –