list里面怎么选中一个item让其滚动到list的中间啊

有这么一个需求,list里面怎么选中一个item让其滚动到list的中间啊,不使用循环列表,我试了好像没有这样的接口,如果直接让选中item的x坐标直接等于list中心坐标的话,那么其他的每一个item都要相应的移动坐标,还得考虑是从左边还是右边选中的,比较麻烦,有没有比较好的解决方案啊
已邀请:

stiger - 92后IT男

赞同来自:

一般都是根据item的index来实现滚动位置的,你用坐标太底层了,实现不了。基本算好list的视口显示数量,然后算好你要显示的item的index,可以利用scrollToView(newIndex),这个newIndex需要根据index算一下,正好可以显示到中间。

谷主

赞同来自:

scrollPane.posX/Y就是滚动的位置,你要item位于正中,那不是很简单吗
scrollPane.posX = (item.x + item.width/2) - (scrollPane.viewWidth/2)
 
这个在LoopList的Demo也有类似代码,在滚动容器的教程也有介绍。

GuangMing

赞同来自:

受教了

要回复问题请先登录注册