Внедрих новия компонент SwipeRefreshLayout
в моето приложение и той работи добре с всякакви вертикални изгледи, като ListView
, GridView
и ScrollView
.
Държи се много лошо с хоризонтални изгледи, като HorizontalScrollView
. При превъртане надясно или наляво, изгледът SwipeRefreshLayout
кешира докосването, не позволява на HorizontalScrollView
да го получи и започва да превърта вертикално, за да извърши опресняването.
Опитах се да разреша този проблем, както преди решавах проблеми с вертикала ScrollView
с ViewPager
вътре, използвайки requestDisallowInterceptTouchEvent
, но не се получи. Също така забелязах, че този метод е заменен в оригиналния клас SwipeRefreshLayout
, без да връща супер. Разработчикът на Google остави коментар вместо "//Nope.
" :)
Тъй като компонентът SwipeRefreshLayout
е сравнително нов, не можах да намеря решение, което коригира проблема с хоризонталното превъртане, като същевременно позволява плъзгането за опресняване на изгледа за проследяване и обработка на вертикалното превъртане, така че реших да споделя решението си с надеждата, че ще спести на някого час или два.