2012-03-13 81 views
13

我是新來的android,我正在尋找網格視圖的邏輯,如pinterest(主屏幕)應用程序,已爲我的手機構建。一個很大的沒有。的圖像來自服務器,我需要以分頁效果的形式顯示,即在滾動中加載圖像。Pinterest喜歡自定義GridView

image is here

請回復,如果它是周圍其他可能的方式。我會非常感謝。

+0

我正在努力使網格視圖適應iPhone應用程序的佈局pinterest使用。你是否曾經能夠使用網格佈局或其他佈局方案來創建類似於iPhone上最有趣的佈局? – rOrlig 2012-03-27 05:00:22

+0

你好@Raj Kumar Yadav。你能幫助我嗎?你有沒有在android中獲得相同的圖像輸出? – 2012-11-23 05:34:43

回答

3

如果要執行上滾動圖像的加載那麼它將類似於List View.First拯救WS URL的所有數據,然後根據需求現在

Commonsware無盡適配器適用於列表視圖加載,你可以用集成的GridView太

EndLessAdapter

另一種方法是把你的網格視圖中ViewFlipper,然後用動畫翻頁。

使用setInAnimation()和setOutAnimation()設置的動畫和翻轉與showNext()和showPrevious()的頁面

0

檢查:Staggered GridView

的StaggeredGridView允許用戶創建具有不均勻一個GridView類似於Pinterest外觀的行。包括自己的OnItemClickListener和OnItemLongClickListener,選擇器和固定位置恢復。

3

創建佈局類似如下

<ScrollView...> 
<LinearLayout.... 
    android:id="@+id/linear1" 
    orientation="horizontal"> 

    <LinearLayout.... 
    android:id="@+id/linear2" 
    android:layout_weight="0.33" 
    orientation="vertical"> 

    <LinearLayout.... 
    android:id="@+id/linear3" 
    android:layout_weight="0.33" 
    orientation="vertical"> 

    <LinearLayout.... 
    android:layout_weight="0.33" 
    orientation="vertical"> 

</LinearLayout> 
</ScrollView> 

現在動態地佈局

linear1 = (LinearLayout) findViewById(R.id.linear1); 
linear2 = (LinearLayout) findViewById(R.id.linear2); 
linear3 = (LinearLayout) findViewById(R.id.linear3); 

for(int i=0;i<n;i++) 
{ 
    ImageView iv = new ImageView(this); 
    iv.setImageResource(R.id.icon); 

    int j = count % 3; <---- 
    if(j==0) 
     linear1.addView(iv); 
    else if(j==1) 
     linear2.addView(iv); 
    else 
     linear3.addView(iv); 
} 
0

這是老問題,添加您的ImageView,但對於那些有類似的問題:

最簡單的方法完成這種佈局風格是使用RecyclerView與StaggeredGridLayoutManager,如下所示:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.my_activity); 

    View recyclerView = findViewById(R.id.recycle_view); 
    assert recyclerView != null; 
    StaggeredGridLayoutManager gaggeredGridLayoutManager = new  
    StaggeredGridLayoutManager(2, 1); 
     recyclerView.setLayoutManager(gaggeredGridLayoutManager); 
} 

對於問題的另一部分(分頁),最好是以大塊形式接收圖像(例如,每個請求50張圖像),並且當用戶向下滾動(到最後)時加載更多。