在onPageSelected 处理当前画廊效果,为什么第一个和手动滑动的时候不生效?2.2.3版本
Closed this issue · 1 comments
BananaHuo commented
我定义了一个Banner实体,里面有个属性,isSelected判断当前onPageSelected。就会展示描边。
但是
1、当我手动滑动banner的时候;
2、onPageSelected返回position是0的时候;
这2种情况未生效,不知道是哪里写的问题,谢谢
` banner?.addOnPageChangeListener(object:com.youth.banner.listener.OnPageChangeListener{
override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {
}
override fun onPageSelected(position: Int) {
bannerTitle.text = bannerData[position].name
bannerSubTitle.text = bannerData[position].name
bannerData.forEachIndexed { index, banner ->
banner.isSelected = index == position
}
banner?.getAdapter()?.notifyDataSetChanged()
}
override fun onPageScrollStateChanged(state: Int) {
}
})`
下面是adapter的代码
if (data?.isSelected==true){ holder?.viewLine?.visibility=View.VISIBLE }else{ holder?.viewLine?.visibility=View.INVISIBLE }
BananaHuo commented
改了,另外一种实现方式,实现了这种效果。用自定义的imageview 。动态的给imageview设置strokeWidth和strokeColor然后就实现了这种效果