RecyclerView different itemDecoration per oggetti diversi

Sto usando il RecyclerView nella mia applicazione e per le esigenze del mio design, ho bisogno di avere diversi margini tra gli elementi nella mia lista (per esempio: lo spazio tra i primi due elementi da 16dp, lo spazio tra il secondo e il terzo elemento 32dp ecc.). Ho letto che puoi aggiungere elementi decorativi a RecyclerView e creare quello spazio tra gli elementi. Ma questa cosa aggiunge lo stesso margine tra tutti gli elementi, e voglio un comportamento diverso per oggetti diversi. Le mie domande sono, può essere fatto usando la decorazione dell’object? E come è meglio questo approccio rispetto alla modifica del margine dell’elemento (vista) in, ad esempio, il metodo onBindViewHolder in RecyclerView.Adapter . Grazie in anticipo!

    È ansible ignorare RecyclerView.ItemDecoration#getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) , viene chiamato per ogni vista Visibile figlio visibile, è ansible ottenere la sua posizione all’interno dell’adattatore chiamando:

     parent.getChildAdapterPosition(view) 

    o il titolare della vista chiamando:

     parent.getChildViewHolder(view)