在我的Android应用程序中我有这个场景 - 我有一个画廊,我必须显示一些图像。 我总共有13张图片,每张图片都是通过调用带有一些参数的函数得到的。
现在在我的适配器库中,我一次只能传递7个图像,当用户滚动浏览库时,我应该更新库项目。 例如。我的图像是{0,1,2,3,4,5,6,7,8,9,10,11,12}。
我第一次只能在中央显示屏上显示{3,4,5,6,7,8,9} 现在,如果用户向右滚动我想从左端移除3并在右端添加10,以便适配器阵列变为{4,5,6,7,8,9,10},其中7位于中心,依此类推
类似地,如果用户向左滚动,我想从右端移除9并在左端添加2,以便适配器阵列变为{2,3,4,5,6,7,8},其中5为中心
我使用LinkedList存储我的项目
我怎样才能做到这一点。 请帮助。
答案 0 :(得分:0)
只需使用自定义类扩展图库,覆盖onFling()
检测手势(向左或向右)并执行删除操作。
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
if (Math.abs(velocityX) > Math.abs(velocityY)) {
// This is an horizontal fling
if (velocityX < 0) {
// From left to right => go forward
// remove 3
return true;
} else if (velocityX > 0) {
// From right to left => go backward
// remove 7
return true;
}
} else {
// This is a vertical fling
}
return false;
}