我正在開發android應用程序,並在某些活動中使用recyclerview和scrollview。現在,我想在recyclerview/scrollview向上滾動時顯示一些佈局,並在向下滾動時隱藏佈局。 我想要一個函數可以告訴recyclerview/scrollview向上或向下滾動。如何檢查scrollview/recyclerview是向上還是向下滾動android
請幫助,如果有人知道如何爲recyclerview和scrollview做到這一點。
非常感謝先進的。
我正在開發android應用程序,並在某些活動中使用recyclerview和scrollview。現在,我想在recyclerview/scrollview向上滾動時顯示一些佈局,並在向下滾動時隱藏佈局。 我想要一個函數可以告訴recyclerview/scrollview向上或向下滾動。如何檢查scrollview/recyclerview是向上還是向下滾動android
請幫助,如果有人知道如何爲recyclerview和scrollview做到這一點。
非常感謝先進的。
Try this way:
private static int firstVisibleInListview;
firstVisibleInListview = yourLayoutManager.findFirstVisibleItemPosition();
In your scroll listener:
public void onScrolled(RecyclerView recyclerView, int dx, int dy)
{
super.onScrolled(recyclerView, dx, dy);
int currentFirstVisible = yourLayoutManager.findFirstVisibleItemPosition();
if(currentFirstVisible > firstVisibleInListview)
Log.i("RecyclerView scrolled: ", "scroll up!");
else
Log.i("RecyclerView scrolled: ", "scroll down!");
firstVisibleInListview = currentFirstVisible;
}
如果currentFirstVisible == firstVisibleInListview和out item height是200dp會怎麼樣。 –
此問題
scroll.setOnScrollChangeListener(new View.OnScrollChangeListener() {
@Override
public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
int x = scrollY - oldScrollY;
if (x > 0) {
//scroll up
} else if (x < 0) {
//scroll down
} else {
}
}
});
可以使用OnScrollListener https://developer.android.com/reference/android/support/v7/widget/RecyclerView一個肯定的答案很簡單。 OnScrollListener.html –
看看這個:[Android ScrollView,檢查當前是否滾動](http://stackoverflow.com/a/28626671/3472667) – Hoven
http://stackoverflow.com/a/33007135/3145960 –