以下是一个使用Kotlin和RecyclerView实现平滑滚动的示例代码:

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView

class MainActivity : AppCompatActivity() {
    private lateinit var recyclerView: RecyclerView

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        recyclerView = findViewById(R.id.recyclerView)

        // 创建数据源
        val data = mutableListOf<String>()
        for (i in 1..50) {
            data.add('Item $i')
        }

        // 创建并设置Adapter
        val adapter = MyAdapter(data)
        recyclerView.adapter = adapter

        // 设置LayoutManager
        recyclerView.layoutManager = LinearLayoutManager(this)

        // 执行平滑滚动
        recyclerView.postDelayed({
            recyclerView.smoothScrollBy(30, 0)
        }, 2000)

        // 停止滚动
        recyclerView.postDelayed({
            recyclerView.stopScroll()
        }, 4000)
    }
}

class MyAdapter(private val data: List<String>) : RecyclerView.Adapter<MyAdapter.ViewHolder>() {
    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
        val view = LayoutInflater.from(parent.context).inflate(R.layout.item_layout, parent, false)
        return ViewHolder(view)
    }

    override fun onBindViewHolder(holder: ViewHolder, position: Int) {
        holder.bind(data[position])
    }

    override fun getItemCount(): Int {
        return data.size
    }

    class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        fun bind(item: String) {
            // 绑定数据到ViewHolder
        }
    }
}

你需要在布局文件中添加一个RecyclerView,并创建一个adapter来适配数据。在Activity的onCreate方法中,你可以设置LayoutManager、Adapter,并使用postDelayed方法来执行平滑滚动和停止滚动操作。

请记得在你的项目中添加RecyclerView和相关依赖。

Android Kotlin RecyclerView 平滑滚动实现:开始、停止及代码示例

原文地址: https://www.cveoy.top/t/topic/bTbz 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录