ViewPagerHelper.bind(magicIndicator, mViewPager); 不支持传ViewPager2 ?
xuleijvbw opened this issue · 1 comments
xuleijvbw commented
ViewPagerHelper.bind(magicIndicator, mViewPager); 不支持传ViewPager2 ?
WuFengXue commented
好像不支持,自己做个简单的移植就可以了
import androidx.viewpager2.widget.ViewPager2
import net.lucode.hackware.magicindicator.MagicIndicator
/**
* 新版页卡的绑定辅助工具,移植自 [net.lucode.hackware.magicindicator.ViewPagerHelper]。
*
* @author Reinhard
* @date 2022/3/25
*/
class ViewPager2Helper {
companion object {
fun bind(magicIndicator: MagicIndicator, viewPager: ViewPager2) {
viewPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
override fun onPageScrolled(
position: Int,
positionOffset: Float,
positionOffsetPixels: Int
) {
magicIndicator.onPageScrolled(position, positionOffset, positionOffsetPixels)
}
override fun onPageSelected(position: Int) {
magicIndicator.onPageSelected(position)
}
override fun onPageScrollStateChanged(state: Int) {
magicIndicator.onPageScrollStateChanged(state)
}
})
}
}
}