项目中需要用到一种横向的listview,但是我发现网上的listview没有那种能设置选择翻页的,所以在此记录下,也有可能是我没找到吧
横向listview还是用的github上人家写好的,我只是将其中的setSelect()重载了下,写了一个新的满足下项目需求
横向listview的地址:https://github.com/MeetMe/Android-HorizontalListView
他的其他的方法我都没变,只是加了个构造
/**
* 这两个参数只是用于重写的构造
*/
private int width = 0;
private int i = 0;
/**
* 重写构造,用在点击一个按钮后翻页
* @param position 如果是往左边滑,传入第一个position 如果是往右边滑传入最后一个position
* @param isLeft 是否是往左边滑
* @param size 传入总数据的大小
*/
public void setSelection(int position, boolean isLeft, int size) {
if (isLeft) {
if (position == 0) {
scrollTo(0);
} else {
if (position + 1 == getChildCount()) {
scrollTo(0);
} else {
if (width == 0) {
width = this.getWidth();
}
i = position / getChildCount() + 1;
if (this.i != 0) {
width = this.getWidth() * (this.i-1);
}
scrollTo(width);
}
}
} else {
if (getLastVisiblePosition() + 1 == size) {
return;
}
i = position / getChildCount() + 1;
width = this.getWidth() * i;
scrollTo(width);
}
}