水平スクロールビューでスクロールの方向を取得する方法を知りたい、左または右にスクロールする場合、 onScrollChnageListenerのようなものがあり、onLeftScrollまたはonRightScrollのメソッドがあるように、すぐにそれについて知る必要があります
2799 次
2 に答える
0
少しのロジックがうまくいきました。単純に 2 つのポインターを取得し[firstPointerCurrentValue,firstPointerLastValue]
(....パニックにならないでください。firstPointer は常にリスト内の最初の表示項目を指す変数です)、それらを新しい値と更新された値に一致させます。
int firstPointerCurrentValue = 0;
int firstPointerLastValue = 0;
.........
lv.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView alv, int scrollState) {
checkValue(firstPointerCurrentValue, firstPointerLastValue);
firstPointerLastValue = firstPointerCurrentValue;
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
firstPointerCurrentValue = firstVisibleItem;
}
});
……
boolean checkValue(int firstPointerCurrentValue, int firstPointerLastValue) {
if (firstPointerCurrentValue > firstPointerLastValue) {
Toast.makeText(getBaseContext(), "DOWN ", Toast.LENGTH_SHORT)
.show();
ab.hide();
} else if (firstPointerCurrentValue < firstPointerLastValue) {
Toast.makeText(getBaseContext(), "UP ",
Toast.LENGTH_SHORT).show();
} else {
// Toast.makeText(getBaseContext(), "No Move ", Toast.LENGTH_SHORT)
// .show();
}
return false;
}
于 2014-10-06T10:46:47.563 に答える