Sono in una sfida per costruire un layout simile a questo:Recycler View con più righe e colonne - Adatta come flusso formato [Android]
La mia prima intuizione era quella di utilizzare un RecyclerView con una adattatore che può gestire ogni oggetto e gonfiare il suo layout.
Finora, non così buono.
ho ottenuto questo layout finora:
posso abbattimento che sono quasi arrivati, ma in realtà ... ho trascorrere una settimana pensare a come renderlo migliore, o semplicemente come l'UI propone.
Alcuni miei tentativi erano
- Utilizzare un layout a griglia e cambiare il numero massimo colonne a seconda di quanti articoli ci sono sulla lista
- StaggeredGridLayoutManager suonava come un potente candidato per risolvere il problema e mi fanno felice , ma sfortunatamente quando ho provato ad usarlo mi rendo conto che abbiamo bisogno di passare un certo numero di spanCount (colonne) sul costruttore e ho trovato alcuni modi per ovviare a questa limitazione cambiando il numero di colonne di ogni riga, ma non mi piaceva il risultato finale, non era come ho visto in altre app come Foursquare quando hai impostato i tuoi interessi.
- Ho controllato questa libreria Flow Layout, ma non ho nemmeno iniziato a usarlo, perché non voglio perdere l'intero potere di visualizzazione del riciclatore e credo che ci sia un modo per farlo funzionare! ..... Pur sapendo che la libreria fa esattamente ciò di cui ho bisogno.
Ragazzi, non sono qui per cercare un po 'di pace del codice o qualcuno che faccia il mio lavoro. In realtà sto cercando la luce alla fine del tunnel.
Il scaglionata effetto visualizzazione a griglia ... è che cosa ti perdi qui ? O c'è di più? – JanithaR
Il costruttore della griglia con scaglionamento ha bisogno di un conteggio span quando eseguiamo l'istanziazione, non voglio correggere un numero di colonne, vorrei adattare il layout in base alla larghezza dell'elemento riga per riga –
Prova questo. 'public final void onBindViewHolder (RecyclerView.ViewHolder viewHolder, int position) { StaggeredGridLayoutManager.LayoutParams layoutParams = (StaggeredGridLayoutManager.LayoutParams) viewHolder.itemView.getLayoutParams(); layoutParams.setFullSpan (true); } – JanithaR