Вертикальный ViewPager с фрагментами - PullRequest
0 голосов
/ 27 декабря 2018

Я хочу показать 3 фрагмента друг под другом.До сих пор я использовал много решений, таких как YViewPager и ответы, такие как Android: Vertical ViewPager .Основная проблема с ними не в том, что они работают так, как я хочу.Мне нужно показать первый фрагмент и ниже этого, некоторую часть второго, и когда пользователь прокрутил до следующего, показывая второй фрагмент и некоторую часть третьего.YViewPager было великолепно, пока я не добавил эти строки, чтобы показать некоторую часть второго фрагмента:

viewPager.setClipToPadding(false);
viewPager.setCurrentItem(1);
viewPager.setPadding(0,0,0,500);

После этого все стало так:

С тем пробелом, который появился из ниоткуда.А что касается других библиотек и хаков, которые сказали мне поменять событие motion:

private MotionEvent swapXY(MotionEvent event) {
    float width = getWidth();
    float height = getHeight();

    float newX = (event.getY() / height) * width;
    float newY = (event.getX() / width) * height;

    event.setLocation(newX, newY);
    return event;
}

А также переписать PageTransformer.Здесь все было хорошо, пока я не захотел перейти от второго фрагмента к первому.Он хотел установить альфа в 0, чтобы начать преобразование, но это создает некоторое внезапное исчезновение для третьего фрагмента, как это:

enter image description here

Хорошо, вотмой вопрос:

Есть ли способ достичь такого взгляда без этих проблем?Вы предлагаете какие-то другие подходы?

Заранее спасибо.

1 Ответ

0 голосов
/ 27 декабря 2018

Я думаю, что вы можете добиться описанного поведения намного проще, используя RecyclerView и SnapHelper.Вот ссылка, где вы можете найти некоторые объяснения с некоторыми источниками https://rubensousa.github.io/2016/08/recyclerviewsnap

...