2013-04-25 69 views
13

我想知道如何在網格視圖中顯示筆記,清單和圖片的快照。我沒有創建網格視圖的麻煩,但創建它的預覽是我現在面臨的挑戰,因爲我需要根據創建時間向網格添加不同類型的視圖(文本,清單,圖像視圖)。只適用於單一類型的視圖,如圖片或文字。或者換句話說,如何動態添加不同視圖到GridView適配器?Android:顯示像Google Keep一樣的佈局卡片

所有或任何幫助表示讚賞。

謝謝。

enter image description here

+2

下載這個混帳https://github.com/gabrielemariotti/androiddev/ tree/master/Gui示例 使用StaggeredGridView,請點擊此鏈接http://gmariotti.blogspot.in/2013/03/gui-like-google-keep.html?view=sidebar – 2013-04-25 10:05:16

+0

我不是在談論GUI。我想知道如何在GridView中顯示我的項目預覽。我知道GMariotti的博客。謝謝。 – buggydroid 2013-04-25 10:23:38

+2

我期待着得到答案! – Fatih 2013-11-04 08:55:08

回答

3

他們當然不使用GridView對谷歌保持 - 但很可能已Adapter不過。

要使用與您的適配器不同的看法,你可以使用不同的視圖類型:

  1. 覆蓋getViewTypeCount()返回您支持視圖類型的數量。
  2. getItemViewType(int position)返回適合此特定項目的適當類型。
  3. getView(int position, View convertView, ViewGroup parent)中創建正確的視圖。

請記住,回收規則,ViewHolder等仍然適用。對於多種類型的回收僅適用於正確的類型。

Marcus Körnershared a gist by Jake Wharton on G+ recently這可能是有用的。

1

很可能谷歌正在使用類似於GridLayout的東西,如果沒有實際使用GridLayout的話。

機會也是編程創建的佈局,以允許小部件基於它們每個顯示的內容是不同的大小。

1
recyclerView= (RecyclerView) findViewById(R.id.recycler); 
recyclerView.setLayoutManager(new     
StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL)); 

     initData(); 
     MasonryAdapter adapter=new MasonryAdapter(productList); 
     recyclerView.setAdapter(adapter); 

     SpacesItemDecoration decoration=new SpacesItemDecoration(16); 
     recyclerView.addItemDecoration(decoration); 
+0

什麼是SpacesItemDecoration? – Senhor 2016-07-29 15:20:50

相關問題