Rah*_*hul 26 android android-viewpager kotlin
我在科特林是新的,我如何添加OnPageChangeListener一个ViewPager.
viewPager?.addOnPageChangeListener // Now how can I add listener to it.
Run Code Online (Sandbox Code Playgroud)
Rah*_*hul 76
我发现它很简单,但我花了很多时间,因为我是kotlin的新手.我希望有一天能节省其他人的时间.
viewPager?.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
override fun onPageScrollStateChanged(state: Int) {
}
override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {
}
override fun onPageSelected(position: Int) {
}
})
Run Code Online (Sandbox Code Playgroud)
或者我们可以ViewPager.OnPageChangeListener在我们实现Activity或者Fragment只是使用viewPager?.addOnPageChangeListener(this)但确保实现覆盖方法.
对于ViewPager2,您可以使用OnPageChangeCallBack,
viewPager2?.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
override fun onPageSelected(position: Int) {
super.onPageSelected(position)
}
override fun onPageScrollStateChanged(state: Int) {
super.onPageScrollStateChanged(state)
}
override fun onPageScrolled(position: Int,
positionOffset: Float,
positionOffsetPixels: Int) {
super.onPageScrolled(position, positionOffset, positionOffsetPixels)
}
})
Run Code Online (Sandbox Code Playgroud)
由于大多数时候我们只需要覆盖三个ViewPager.OnPageChangeListener方法之一(通常是onPageSelected),这可能有助于减少代码:
viewPager?.addOnPageChangeListener(object : ViewPager.SimpleOnPageChangeListener() {
//override only methods you need, not all of them
override fun onPageSelected(position: Int) {
}
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13112 次 |
| 最近记录: |