Как создать карусель с помощью ViewPager2 в альбомной ориентации - PullRequest
0 голосов
/ 07 января 2020

Мне удалось создать компоновку карусели с помощью ViewPager2 в приложении Android. но когда я переключаю приложение в альбомный режим, большее изображение в фокусе растягивается и выглядит странно. Как я могу создать макет карусели в ландшафте, используя viewpager2. Вот как я реализовал для портретного режима.

view_pager2.post {
      val pageMarginPx = containerView.context.resources.getDimensionPixelOffset(R.dimen.card_margin)
      val offsetPx = containerView.context.resources.getDimensionPixelOffset(R.dimen.card_offset)

      view_pager2.setPageTransformer { page, position ->
        val offset = position * -(2 * offsetPx + pageMarginPx)

        when {
          position < -1 -> page.translationX = -offset
          position <= 1 -> {
            val scaleFactor = max(PAGE_SCALE_FACTOR, 1 - abs(position - 0.14f))
            page.translationX = offset
            page.scaleY = scaleFactor
          }
          else -> {
            page.translationX = offset
          }
        }
      }

      view_pager2.currentItem = selectedCardIndex
      pageChangedListener.onPageSelected(view_pager2.currentItem)
    }
...