У меня есть scrollview, и я только хочу, чтобы событие произошло, если это уже прокручивается до нижней части, но я не могу найти способ проверить, внизу ли scrollview.
Я решил его для противоположного; только позвольте событию происходить, если оно уже прокручивается до вершины:
ScrollView sv = (ScrollView) findViewById(R.id.Scroll);
if(sv.getScrollY() == 0) {
//do something
}
else {
//do nothing
}
Я нашел способ заставить его работать. Мне нужно было проверить измеренную высоту дочернего элемента ScrollView, в данном случае LinearLayout. Я использую <=, потому что он также должен что-то делать, когда прокрутка не нужна. Т.е. когда LinearLayout не такой высокий, как ScrollView. В таких случаях getScrollY всегда равен 0.
ScrollView scrollView = (ScrollView) findViewById(R.id.ScrollView);
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.LinearLayout);
if(linearLayout.getMeasuredHeight() <= scrollView.getScrollY() +
scrollView.getHeight()) {
//do something
}
else {
//do nothing
}
Если scrollView.getHeight () == scrollView.getScrollY + screenize, то прокручивается вниз.