Skip to content

Instantly share code, notes, and snippets.

package com.d4vidi.vp2rv.core
import android.support.annotation.Px
import android.support.v7.widget.LinearLayoutManager
import android.support.v7.widget.RecyclerView
import android.view.View
data class VisiblePageState(
var index: Int,
var view: View,
package com.d4vidi
import android.support.annotation.Px
import android.support.v7.widget.LinearLayoutManager
import android.support.v7.widget.PagerSnapHelper
import android.support.v7.widget.RecyclerView
import android.view.View
import android.view.ViewTreeObserver
data class VisiblePageState(
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val recyclerView = findViewById<RecyclerView>(R.id.recycler_view)
// Usual setups
recyclerView.layoutManager = LinearLayoutManager(activity, LinearLayoutManager.HORIZONTAL, false)
recyclerView.adapter = ...
// Decorator set-up
@d4vidi
d4vidi / RVPagerSnapFancyDecorator.kt
Last active July 27, 2022 11:17
A RecyclerView decorator that lets your easily turn a PagerSnapHelper from a provider of a simple full-screen "ViewPager" onto the common fancy cards carousel (such as duo lingo's: http://i.imgur.com/UXpVigQ.gif).
package com.d4vidi
import android.content.Context
import android.graphics.Rect
import android.support.annotation.Px
import android.support.v7.widget.RecyclerView
import android.view.View
/**
* A [RecyclerView decorator][RecyclerView.ItemDecoration] which, if applied over a recycler view