关于listview点击Item滑动到视图中间的做法。

时间:2021-10-23 19:33:35

在listview点击item的时候,传position进去。

下面是方法。直接复制进去就可以了,适合做仿京东分类的效果。


private int scrollViewMiddle = 0;
private int scrllViewWidth = 0;
private void changeTextLocation(int ssPosition) {

    int x = 0;
if (ssPosition <= (listView.getLastVisiblePosition() + listView.getFirstVisiblePosition()) / 2) {
x = (ssPosition - getScrollViewMiddle());
} else {
x = (ssPosition + getScrollViewMiddle());
}

listView.smoothScrollToPosition(x);
}

/**
* 返回listview的中间位置
*
* @return
*/
private int getScrollViewMiddle() {
scrollViewMiddle = getScrollViewheight() / 2;
return scrollViewMiddle;
}

/**
* @return
*/
private int getScrollViewheight() {

scrllViewWidth = listView.getLastVisiblePosition() - listView.getFirstVisiblePosition();
return scrllViewWidth;
}