Possiedo alcuni elementi RecyclerView con scheda. E su dispositivi preLollipop sembra a posto. Ma su Lollipop sembra senza spaziatura tra le carte bambino. Ho provato a usare margini e padding, ma non è stato d'aiuto. Quando uso il margine sul lecca-lecca sembra buono, ma con lo stesso margine sulla spaziatura pre-lecca-lecca è molto grande. Ancora una volta: perché ci sono diverse distanze? Quale proprietà dovrei usare per risolverlo?Utilizzo di RecyclerView con scheda
risposta
Questo accade perché su L, le ombre sono al di fuori dei limiti della vista ma pre-L, sono all'interno della vista (purtroppo non esiste un vero supporto per le ombre pre-L).
Se si desidera che CardView abbia la stessa spaziatura su L, impostare cardUseCompatPadding su true.
Ho avuto lo stesso problema. Ho dovuto creare una cartella layout-v21, che verrà utilizzata dai dispositivi lollipop, e duplicare il layout aggiungendo il margine/padding di cui avevo bisogno per spaziarlo correttamente.
In questo modo, quando l'app viene avviata su lecca-lecca, il layout verrà letto dalla cartella layout-v21 con lo spazio corretto aggiunto e qualsiasi altro dispositivo andrà al file di layout standard in cui lo spazio non è necessario per essere impostato in modo esplicito.
Spero che questo aiuti.
La risposta di yigit è stata utile ma non ha molti dettagli, quindi aggiungo alcuni qui per i futuri spettatori di questo post.
Ecco un esempio di come ho ottenuto questo funzionamento (non ovvio dal collegamento android site nella risposta di yigit).
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_marginLeft="@dimen/activity_vertical_margin"
android:layout_marginRight="@dimen/activity_vertical_margin"
android:layout_marginTop="2dip"
android:layout_marginBottom="2dip"
card_view:cardUseCompatPadding="true">
// Other layouts and views here
</android.support.v7.widget.CardView>
La visualizzazione della carta che necessitava di un trattino basso e di utilizzare lo schema di res-auto non era evidente.
C'è un buon esempio di questo nello Material Design Training.
- 1. Utilizzo di RxJava nell'adattatore RecyclerView
- 2. RecyclerView con una scheda statica e altre schede dinamiche
- 3. Resharper: frammenti di codice con scheda + scheda
- 4. NestedScrollView scorrimento con recyclerview
- 5. nidificato RecyclerView con CoordinatorLayout
- 6. CoordinatorLayout con RecyclerView & CollapsingToolbarLayout
- 7. RecyclerView con diversi Cardlayouts
- 8. CoordinatorLayout con RecyclerView
- 9. RecyclerView con GridLayoutManager
- 10. Sostituisci ListView con RecyclerView
- 11. RecyclerView wrap_content con GridLayoutManager
- 12. Come contare gli articoli RecyclerView con Espresso
- 13. Recyclerview (articolo su Recyclerview)
- 14. Utilizzo di una GPU come scheda video e GPGPU
- 15. HttpURLConnection e utilizzo di una specifica scheda di rete
- 16. Come utilizzare ContentObserver con RecyclerView?
- 17. Span multiple colonne con RecyclerView
- 18. Recyclerview con scrollview interno annidato?
- 19. Problema nested RecyclerView con AppBarLayout
- 20. Finestra di dialogo Avviso personalizzato con RecyclerView
- 21. Come rimuovere l'elemento da RecyclerView con ritardo
- 22. Horizontal RecyclerView con padding iniziale
- 23. Bug con ViewPager e RecyclerView
- 24. RecyclerView: caricamento immagine asincrono
- 25. NullPointerException su ViewPager con Recyclerview
- 26. RecyclerView card espandibileView
- 27. Il funzionamento di ViewPager non funziona con RecyclerView
- 28. RecyclerView vs ViewPager
- 29. Scheda materiale con libreria Cardslib
- 30. Android Disposizione: Recyclerview orizzontale all'interno di un Recyclerview verticale all'interno di un Viewpager con scorrimento comportamenti
Manca un tag di chiusura nel CardView. Volevo aggiustarlo ma ho bisogno di modificare almeno 6 caratteri :((e non c'era nient'altro che potessi pensare di cambiare) - sarebbe bello se potessi correggerlo :) – AgentKnopf
Oops. Tutto pronto ora? – Splaktar
Jepp sta bene e ti ringrazio per la risposta dettagliata :)! Anche se ho dovuto rimuovere quel card_view: cardUseCompatPadding - poiché non veniva risolto correttamente. Non sono sicuro che fosse la biblioteca che all'epoca mancava, ma se davvero non funziona ti risponderò. Anche se penso che fosse collegato ad un altro problema e se lo hai testato, dovrebbe andare bene, credo. – AgentKnopf