2016-10-26 6 views
0

基本的にGalleryを作成したいのですが、そのクラスはしばらく非難されており、別のスクロールコンテナを使用することを提案しました。廃止予定のギャラリーとしてRecyclerViewを動作させるにはどうしたらいいですか?

他のさまざまな投稿を読んだ後で私が一番近かったのは、LinearLayoutManagerLinearSnapHelperを使ってRecyclerViewです。

これは私にその道の90%を取得します。

古いAPIのデモから、簡単なGalleryのこのスクリーンショットを見ればしかし、1つの明白な不足している部品が最初と最後のビューもセンターにをスナップする必要があるということです

私はどのようにRecyclerViewでこれを行いますか?

Gallery demo

+0

[ 'LinearSnapHelper'をお試しください] (https://developer.android.com/reference/android/support/v7/widget/LinearSnapHelper.html)。詳細については、[このブログの投稿](https://developer.android.com/reference/android/support/v7/widget/LinearSnapHelper.html)を参照してください。 – CommonsWare

+0

私はすでに 'LinearSnapHelper'を使用しているという質問に言及しました。 最初/最後のアイテムを中央にスナップする問題は解決しません。それらを左右の端に保持します。 –

+0

申し訳ありませんが、十分に注意を払っていませんでした。これはカスタムの「LayoutManager」を必要とするかもしれません。最初の/最後のビューが中央に置かれているポイントまで各端を越えてスクロールできることを知るためです。 'RecyclerView'のpull-to-refreshアドオンがどのように動作して、' LayoutManager'が自然な開始点を過ぎてスクロールするかを確かめる方法を調べることができます。 – CommonsWare

答えて

0

私はRecyclerViewの幅の半分であることを幅を強制的に、最初と最後にSpaceを追加することになりました。

これは私が望むものを達成したようですが、他の選択肢もあります。

0

あなたはこのようなachive要件の何かのために水平方向のスクロールでsetSpaceCountメソッドを使用することができます。

GridLayoutManager mLayoutManager = new GridLayoutManager(getApplicationContext(), 2); 
mLayoutManager.setSpaceCount(2); 
yourrecyclerview.setLayoutManager(mLayoutManager); 

そして アンドロイドXMLコードでのスクロールを追加:スクロールバー= "横"

関連する問題