youth5201314/banner

在onPageSelected 处理当前画廊效果,为什么第一个和手动滑动的时候不生效?2.2.3版本

Closed this issue · 1 comments

我定义了一个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 }

改了,另外一种实现方式,实现了这种效果。用自定义的imageview 。动态的给imageview设置strokeWidth和strokeColor然后就实现了这种效果