2012-03-27 3 views
14

Sto cercando di implementare il gridview in stile pinterest (vedi immagine) e sto avendo difficoltà a venire con un approccio.Pinterest listview di stile o gridview in android

La vista deve avere 3 colonne (come pinterest) con singole immagini aventi larghezza costante ma altezza variabile. Dovrebbe essere scorrevole. Sono anche preoccupato per il problema di essere in grado di riciclare viste come il numero di immagini può essere molto (diciamo 1000)

Non sono sicuro di come avvicinarsi a questa vista in Android.

Gaurav

Pinterest View

risposta

3

vorrei fare in questo modo:

ScrollView 
    LinearLayout (horizontal) 
    LinearLayout (vertical, layout weight for width) 
     [All the content in column 1] 
    LinearLayout (vertical, layout weight for width) 
     [All the content in column 2] 
    LinearLayout (vertical, layout weight for width) 
     [All the content in column 3] 

Usa lazy loading per le immagini se ci sono migliaia

+4

caricamento lento delle immagini non è il problema. Sono più interessato al riciclo delle immagini visualizzate nei tre linearlayout. – rOrlig

+1

Ho provato questo approccio con il caricamento lento e non ha prestazioni ottimali probabilmente a causa del mancato recupero delle immagini. – rOrlig

+1

Hmm. Immagino che se stai caricando tante immagini puoi rimuovere le viste all'inizio e aggiungere più viste alla fine mentre scorri. – AJcodez

5

ho mai pensato fino a quando hai portato su, ma questo è un problema interessante per provare una soluzione. Il mio suggerimento sarebbe quello di inserire 3 ListView nell'attività o frammento. Presumo che ognuno ricicli i propri View rispettivamente. Questo risolve le tue prestazioni abbastanza facilmente assumendo che sia sicuro farlo. Quindi forse un LinearLayout orizzontale che contiene le 3 ListViews. L'aggiunta di un padding a quello centrale produrrebbe l'effetto desiderato.

Ovviamente, è necessario pensare più a come le immagini finiscono dove sono, ma questo è quello che devi immaginare :) Spero che questo ti dia qualche idea!

+0

Mi piace il suggerimento. Ci proveremo. – rOrlig