2016-10-20 3 views
0

このようなグリッドビューを作成したいと思います。 D: sorry it's a bit messy ですから、基本的にgridviewは1〜4番目の項目を表示します。次をクリックすると、5〜8番目の項目が表示されます。android:Gridviewボタンをクリックするとさらに多くのアイテムが表示されます

これを達成する方法はまだ分かりません。誰か私にいくつかのアイデアを与えることができますあるいは、誰かがこれを達成するのに役立つ図書館を持っていますか?

私の現在のアイデアは、4つのアイテムでグリッドビューを設定し、ボタンをクリックするたびにアダプタを変更することです。しかし、私はそれが本当に便利ではないと思う。もう一つのアイデアは「ページング」を使うことですが、ページングの仕方はこれまでのところ分かりません。

ありがとう!

+1

_ViewPager_ – Piyush

+0

を使用すると、これが役立つかもしれません。http://www.coderzheaven.com/2013/09/01/faster-loading-images-gridviews-listviews-android-menory-caching-complete-implemenation-sample-code/ –

答えて

0

線形レイアウトを含む水平スクロールビューを使用して、線形レイアウトでグリッドアイテム(ビュー)を動的に追加することができます。 このアイデアに依然として助けが必要な場合はお知らせください。

0

これを実現するには、水平のLinearLayoutManagerを使用してRecyclerViewを使用します。ただし、ユーザーはアイテムをスクロールすることもできます。 RecyclerViewにスクロールを無効にするには、あなたはそれをサブクラス化し、イベントを移動するにはどんな反応を無効にしますonTouchEvent()メソッド、オーバーライドすることができます:

@Override 
public boolean onTouchEvent(MotionEvent event) { 

    switch(event.getAction()){ 

     case MotionEvent.ACTION_DOWN: 
      return super.onTouchEvent(event); 

     case MotionEvent.ACTION_MOVE: 
      break; //Don't call super. 

     case MotionEvent.ACTION_UP: 
      return super.onTouchEvent(event); 
    } 
    return false; 
} 

ユーザーが次のページに移動するボタンをクリックすると、あなたがいずれかを使用できますLinearLayoutManagerオブジェクトで次のメソッドアダプタ内の現在位置を見つけるための:あなたは新しい位置を決定したら

int findFirstVisibleItemPosition(); 
int findFirstCompletelyVisibleItemPosition(); 
int findLastVisibleItemPosition(); 
int findLastCompletelyVisibleItemPosition(); 

、あなたはどちらかscrollToPosition()またはsmoothScrollToPosition()方法で新しいデータにスクロールすることができます。..

関連する問題