2012-11-18 15 views
18

Così come la maggior parte abbiamo usato/visto l'app Google Plus.Colonna Android GridView, larghezza variabile come l'app GooglePlus

Quello che mi interessa è il ColumnGridView che hanno sviluppato, che non solo ha larghezza variabile, ma altezza variabile, sembra che in base al contenuto mostrerà felicemente il miglior spazio per il CardView.

Poche soluzioni possibili per replicare questo, ma solo alla ricerca del migliore che è ovviamente l'implementazione di Google.

  1. Sì, questo può essere ottenuto con un TableView - Ma sarebbe una programmazione scadente senza un view recycler.
  2. La mia implementazione personalizzata, basata su ListView/GridView - Non impossibile ma molto lavoro.
  3. Utilizzare idealmente quello di Google che presumo sia lo stesso per Google Now/Plus in quanto funzionano allo stesso modo in base agli elementi di stile "Scheda".

Quindi qualcuno si è imbattuto in questo?

Eventuali tutorial, esempi, fonte che posso utilizzare per iniziare a salvarmi in qualche modo verso la testa?

Forse anche qualche direzione da parte dei ragazzi di Google a come sta calcolando il dimensionamento?

Google Plus

+0

Sono abbastanza sicuro che questo sia usato nell'SDK o nella libreria di supporto. Ricordo di aver visto dei commit sulla sua aggiunta e poi sulla rimozione. Dovrà cercare ... –

+0

@JakeWharton, ma la classe GridView non supporta colonne di larghezza variabile, giusto? Probabilmente hanno hackerato la loro Vista specializzata per questo. – LuxuryMode

+0

Ecco perché ho detto "usato". Come ho detto, è stato aggiunto e quindi rimosso dall'API pubblica. Registrerò grep logs quando avrò una possibilità. –

risposta

20

StaggeredGridView attualmente esistono nella cartella frameworks/ex/widgets/ di AOSP che sembra essere quello Google+ utilizza (o una variante di esso, probabile).

Doveva essere nell'ultima versione della libreria di supporto (r11) finché non è stato ripristinato da Katherine Kuan in b54e36f2 e spostato nel repository sperimentale.

+1

Creata una demo in base alla visualizzazione qui: https://github.com/chrisjenx/StaggeredGridView –

+3

Vorrei aggiungere che ho preso StaggeredGridView e aggiunto alcune funzionalità mancanti (OnItemClickListener, OnItemLongClickListener, Selector, Ripristino posizione corretta). Puoi controllare qui https://github.com/maurycyw/StaggeredGridView – Maurycy

+0

C'è anche https://github.com/felipecsl/AsymmetricGridView Non ho ancora provato nessuna di queste librerie. Se qualcuno ha esperienze con loro, sarei fortunato a sentirne parlare. – Janusz

Problemi correlati