水平寻呼机偏移在滚动后未到达中心

问题描述 投票:0回答:1

我写了一个逻辑,每 5 秒滚动一张图像。我还在制作动画时将 pageoffset 设置为 0。但是currentPageOffset并没有如预期的0。它自动偏离负数和正数,但预期是0。

记录一下我转载的,Logs for currentOffset

我用于每 5 秒滚动一次的代码。

while (true) {
      delay(5000)
      Timber.i("scroll pageState.currentPageOffsetFraction -> ${pageState.currentPageOffsetFraction}")
      Timber.i("scroll pageState.currentPage -> ${pageState.currentPage}")
      Timber.i("scroll pageState.pageCount -> ${pageState.pageCount}")
      if (pageState.currentPage + 1 < viewModel.total) {
        pageState.animateScrollToPage(page = pageState.currentPage + 1, pageOffsetFraction = 0f)
      } else {
        pageState.scrollToPage(viewModel.initialPager)
      }
    }
android mobile android-jetpack-compose horizontal-pager
1个回答
0
投票

根据android文档

currentPageOffsetFraction
值是正确的值可以是-0.5到0.5。

参考:- enter image description here

您可以使用

absoluteValue
页面偏移量来动画列表:-

pageState.animateScrollToPage(page = pageState.currentPage + 1, pageOffsetFraction = pageState.currentPageOffsetFraction.absoluteValue)
© www.soinside.com 2019 - 2024. All rights reserved.