Как я знаю, что scrollview уже прокручивается до нижней части?

У меня есть scrollview, и я только хочу, чтобы событие произошло, если это уже прокручивается до нижней части, но я не могу найти способ проверить, внизу ли scrollview.

Я решил его для противоположного; только позвольте событию происходить, если оно уже прокручивается до вершины:

ScrollView sv = (ScrollView) findViewById(R.id.Scroll);
    if(sv.getScrollY() == 0) {
        //do something
    }
    else {
        //do nothing
    }
14
задан sanna 19 May 2010 в 10:16
поделиться

2 ответа

Я нашел способ заставить его работать. Мне нужно было проверить измеренную высоту дочернего элемента 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
    }
9
ответ дан 1 December 2019 в 14:10
поделиться

Если scrollView.getHeight () == scrollView.getScrollY + screenize, то прокручивается вниз.

0
ответ дан 1 December 2019 в 14:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: