Вы не можете иметь прокручиваемое дочернее представление в родительском представлении, которое можно прокручивать. Google не рекомендует это ... и это действительно грязно. Читать это
Были люди, которые пытались обойти (что выглядит не очень красиво), но я сомневаюсь, что это сработает для вас. Но вы все равно можете прочитать его и посмотреть, сможете ли вы заставить его работать на вас. Наслаждайтесь .
Одна из основных причин, по которой он не работает, заключается в том, как прокручиваемые виды обрабатывают прикосновения. Есть метод с именем dispatchTouchEvent()
и onInterceptTouchEvent()
, который решает, перехватить ли событие касания или передать его своим детям. Для прокручиваемых видов они всегда будут перехватывать движения «смахивания». Так что это никогда не пойдет на ваших детей.
Вы можете попытаться изменить его, но если вы подумаете об этом, как вы узнаете, пытаетесь ли вы прокрутить родителя или если вы пытаетесь прокрутить ребенка? Представьте, что один из ваших прокручиваемых детей в конечном итоге берет ширину экрана, но затем вы хотите прокрутить своего родителя, как вы справитесь с этим?
Резюме:
это не рекомендуется ... если вы действительно настаиваете ... тогда напишите свой собственный вид для обработки логики. Но я гарантирую вам, что это не будет красиво и почти никогда не будет работать для всех случаев использования.