2016-11-18 3 views
-1

達成したいこと: ViewPagerにTabLayoutを設定します。各タブには、RecyclerViewレイアウトが横方向にあり、FragmentPagerAdapterによって管理される新しいフラグメントが含まれています。私は苦労しています何スナップなしのViewPager

デフォルトの動作を使用すると、タブのいずれかにリストの最後を得るとき、それはタブとスナップを切り替えていることである(手段をスナップビューポートの50%以上を引き出した場合、それがジャンプいずれかの方向に)。私はそれがフリーフローでスナップしないようにしたい。デフォルトでiOSでどのように起こるかのような並べ替え。

私は、以下の2つのコードパスガイドによって、このセットアップのためにインスピレーションを得た:

私は(好ましくは、他のライブラリなし)は、この問題にアプローチすべきどのように?

+0

「ViewPager」の一部であるスワイプからタブへの変更の動作をしたくないようです。あれは正しいですか?その場合、ViewPagerをまったく使用しないでください。タブを使用して、異なるフラグメントを固定されたコンテナにロードしてください。 –

+0

@krislarson私はスワイプからタブへの変更の動作をしたいのですが、私はちょうど自動的にスナップするのではなく、スムーズにスクロールすることを嫌います。例えば、絵文字キーボードはiOSで動作します(同様の動作が欲しい) – anthonymonori

答えて

1

の代わりにHorizontalScrollViewを使用します。唯一の注意点は、ビューページャがライフサイクルイベントをフラグメント間でスクロールしながら送信するのに対し、HorizontalScrollViewでは最初に追加しなければならず、手動で変更しない限り継続的にアクティブになります。また、フラグメントを使用しないようにするオプションがあります。また、フラグメントの用途に応じて単純なビューを使用することもできます。

Iだろう間違いなくないそれはそうちょうどそれを行うには、正しいものではありません嚥下、UPの動きを検出したときに、それはいくつかのクリーンアップを行いますので、ViewPagerのためのタッチイベントを上書きします。

+0

まあ、 'TabLayout'でアイテムをレンダリングするための' RecyclerView'を持つ 'Horizo​​ntalScrollView'から始めましたが、"タブ "ごとに異なるサイズのアイテムがあるので、それらを' Fragment'sに分割するのはそれぞれのタブは自分自身の 'RecyclerView'を持っています。これが私を「ViewPager」アプローチに導いたのですが、唯一の障害はスナップ効果です。あなたはそれが設計上のものであり、「素晴らしい」ものではなく、私の唯一のアプローチは依然として「Horizo​​ntalScrollView」であると言っていますか?最初の答えをありがとう! – anthonymonori

+0

@anthonymonoriフラグメントを使用するためにViewPagerは必要なく、その逆もあります。残念ながら、ソースコードで判断したViewPagerのスナップを無効にすることはできませんので、どんな場合でも別のウィジェットを使用する必要があります。 – Malcolm

+0

フィードバックいただきありがとうございます! – anthonymonori

関連する問題