2017-01-10 42 views
0

イメージを表示する標準のGridViewがあります。私は、表示される20のアイテム/イメージごとに、カスタムレイアウトを表示したいと思います。ここでGridView:20個のアイテムごとにカスタム行を追加する

は、私が何を意味するかの良い例です。

enter image description here

誰もがこれを達成する方法を知っていますか?どんなアドバイスもありがとうございます。ありがとうございました。

+0

使用recyclerView、その20%あれば数カウントを確認してください(= 1値を意味します)毎回カスタム行を追加します –

答えて

1

誰でもこれを達成する方法を知っていますか?

私はそれを行いました。 RecyclerViewGridLayoutManagerRecyclerView.Adapterの2つのビュータイプを使用すると簡単にこれを達成できます。あなたは以下のコードを見ることができます :タイプTYPE_ADSを使用すると、通常のアイテムTYPE_ITEM 2.でcolumにまたがる、あなたはcolumをまたがらない

mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view); 
GridLayoutManager glm = new GridLayoutManager(this, 2); 
glm.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { 
      @Override 
      public int getSpanSize(int position) { 
       switch(mAdapter.getItemViewType(position)){ 
        case MyAdapter.TYPE_ADS: 
         return 2; 
        case MyAdapter.TYPE_ITEM: 
         return 1; 
        default: 
         return -1; 
       } 
      } 
     }); 

mRecyclerView.setLayoutManager(glm); 
mRecyclerView.setAdapter(mAdapter); 
+0

MyAdapter.TYPE_ADSとTYPE_ITEMとは何ですか?それはアダプタクラスで定義されたintですか? – Jack

+0

正しい。あなたの 'RecyclerView.Adapter'に2種類のintを持っています。アイテムタイプに基づいて、関連するレイアウトがあります。あなたはこれを見ることができます[リンク](http://stackoverflow.com/questions/26245139/how-to-create-recyclerview-with-multiple-view-type) –

関連する問題