Android实现ViewPager适配器kotlin简单实现

Android实现ViewPager适配器kotlin

效果

在n个视图间水平滑动切换
注意是viewpager实现的,viewpager2的适配器和1不同

1.适配器类kotlin代码

类名:VPAdapter
属性:
layoutList整型列表,保存要切换的视图id
context上下文,即调用它的Activity
itemCount:页数,从1开始

override时记得把高亮的todo提示删掉

package com.xayah.gesturesdemo.activity.tiktok

import android.content.Context
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView.Adapter
import androidx.viewpager.widget.PagerAdapter
import com.xayah.gesturesdemo.R

/*
    *name: GesturesDemo 
    *description:
    */
class VPAdapter() : PagerAdapter () {
    private lateinit var layoutList: IntArray
    private lateinit var context: Context
    private var itemCount = 1

    constructor(context: Context,itemCount:Int,layoutList:IntArray) : this(){
        this.context = context
        this.itemCount = itemCount
        this.layoutList = layoutList
    }
    override fun getCount(): Int {
        return this.itemCount
    }

    override fun isViewFromObject(view: View, `object`: Any): Boolean {
        return view==`object`
    }

    override fun instantiateItem(container: ViewGroup, position: Int): Any {
        val view = View.inflate(context,this.layoutList[position],null)
        container.addView(view)
        return view
    }

    override fun destroyItem(container: ViewGroup, position: Int, `object`: Any) {
        super.destroyItem(container, position, `object`)
    }
}

2.activity调用适配器

var layouts = intArrayOf(
        R.layout.activity_tiktok_view1,		
        R.layout.activity_tiktok_view2
    )
var viewPager = findViewById<ViewPager>(R.id.tiktok_viewpage)
viewPager.adapter = VPAdapter(this,2,layouts)

很简单吧

参考:
https://blog.youkuaiyun.com/whjk20/article/details/107338023

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值