Android Kotlin RecyclerView 平滑滚动实现:开始、停止及代码示例
以下是一个使用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和相关依赖。
原文地址: https://www.cveoy.top/t/topic/bTbz 著作权归作者所有。请勿转载和采集!