在kotlin中使用ViewPager2

viewPage布局

<androidx.viewpager2.widget.ViewPager2
        android:id="@+id/viewPager"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:background="#FFFFFF"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/total_group" />

创建ViewPageAdapter 适配器

class ViewPagerAdapter2(fm : AppCompatActivity,var fragments : List<Fragment>) : FragmentStateAdapter(fm) {
    override fun getItemCount(): Int {
        return fragments.size
    }
    override fun createFragment(position: Int): Fragment {
        return fragments.get(position)
    }
}

在activity中给viewPager 设置属性

binding.viewPager.adapter = ViewPagerAdapter2(this, fragments)
//offscreenPageLimit的值表示除了当前可见的页面外 缓存的其他页面,这了为了方便直接全部缓存,通常不建议这么做
binding.viewPager.offscreenPageLimit = fragments.size 
设置滑动方向,这里是水平方向
binding.viewPager.orientation = ViewPager2.ORIENTATION_HORIZONTAL

给viewPage注册回调函数

binding.viewPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
            override fun onPageScrolled(
                position: Int,
                positionOffset: Float,
                positionOffsetPixels: Int
            ) {
                // 当页面滚动时调用
            }
            override fun onPageSelected(position: Int) {
                renewalListView(position)    //滑动到的目标页面
            }
            override fun onPageScrollStateChanged(state: Int) {
                // 当页面滚动状态改变时调用(例如,开始滚动,空闲,结束滚动)
            }
        })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值