TabLayoutとviewPagerを使用して、ページ間を移動するためにviewPagerを左右にスワイプするオプションがあります。viewPagerのスワイプ方向の変更
私の問題は、私のアプリケーションがRTLベース(右から左)で、スワイプの方向が逆になっていることです。
スワイプの方向をデフォルトから反転版に変更しようとしています。 私はウェブ上でたくさんの検索をしており、それを行う方法を見つけることができませんでした。
私はandroid.support.v4.view.ViewPager;
を使用していますし、これは私がviewPagerと私のTabLayoutを初期化する方法である:
// View Page Adapter
final ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
final PagerAdapter adapter = new PagerAdapter
(getSupportFragmentManager(), tabLayout.getTabCount());
//View Page Adapter Configuration
viewPager.setAdapter(adapter);
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
viewPager.setOffscreenPageLimit(3);
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}
概要:私は左にviewPagerをスワイプしていた場合、現在、それは示してい次のページ。 RTLで、viewPagerを右にスワイプすると、次のページが表示されます。
理解しにくいかもしれませんが、ここにあります。私は前のページを表示する権利をスワイプする必要はありながら、右スワイプ は、次のページに
を示しています。
これは逆の順序で 'PagerAdapter'の内容を持っているだけの問題ではありませんか? – CommonsWare
setCurrentItemを最後のアイテムに設定するだけではどうですか? – Chris
@CommonsWareそして、左にスワイプするとどうなりますか?このためにonScrollListenerを変更する必要はありませんか? (あなたと同じ答えです。クリス)私はviewPagerのスクロール方向を変更する必要があります(右にスワイプする - 次のページ、左から前のページをスワイプする)。今それは逆転している。私が選択した場合、タブはうまく機能しています。 viewPagerスワイプはしません。 – Eliran