2015-02-12 4 views
1

У меня есть ScrollView с RelativeView под ним. Внутри этого RelativeView есть 3 вида. 2 из этих 3 изначально скрыты.ScrollView все еще прокручивается со скрытым содержимым

enter image description here

Даже если на моем телефоне scroller_rel не занимает весь экран, я все еще могу пролистать, как будто scroller_rel2 и scroller_rel3 там и не скрыты.

Программно я буду решать, скрыты или видимы scroller_rel2 и scroller_rel3, и мне интересно, как же тогда решить, можно ли прокручивать или нет.

Простой способ задать этот вопрос: как я могу программно сообщить ScrollView о высоте видимого содержимого, так что если содержимое не больше контейнера, мы отключим прокрутку, и если скажем, что 2 из 3 показывая, как мы можем разрешить прокрутку только до нижней части scroller_rel2?

ответ

3

Причина, по которой у вас возникла эта проблема, заключается в том, что установка вида View.INVISIBLE делает именно это, но по-прежнему занимает место в вашем макете, поэтому вы все равно можете прокручивать. То, что вы должны использовать, это View.GONE, это фактически делает вид невидимым, и он удаляет его из макета. Проверьте документацию здесь:

GONE

INVISIBLE

+0

Спасибо! Точно, что мне нужно – user1610719