android - 实现 ViewPager2 的问题。正确的方式
问题描述
我正在建造这个窗口
问题:
我使用了复合变形金刚让它看起来像这样,并给出了一些 paddingStart 和 paddingEnd。但只有当我滑动站在中心的项目时它才有效。当我在空白区域或侧面项目上滑动时,它不起作用(我的意思是,我根本无法滑动)。
我的viewPager2:
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/apod_view_pager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="40dp"
android:layout_marginBottom="40dp"
android:paddingStart="60dp"
android:paddingEnd="60dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/container_fragment_gallery" />
转换:
binding.apodViewPager.clipToPadding = false
binding.apodViewPager.clipChildren = false
binding.apodViewPager.offscreenPageLimit = 3
binding.apodViewPager.getChildAt(0).overScrollMode = RecyclerView.OVER_SCROLL_NEVER
val compositePageTransformer = CompositePageTransformer()
compositePageTransformer.addTransformer(MarginPageTransformer(60))
compositePageTransformer.addTransformer { page, position ->
val r = 1 - abs(position)
page.scaleY = 0.9f + r * 0.07f
}
binding.apodViewPager.setPageTransformer(compositePageTransformer)
问题: 它应该是那样的还是我可以让它成为我想要的?
解决方案
推荐阅读
- angular - Azure 认知服务 - TTS - SSML 编辑器
- reactjs - 在样式化组件上传播输入道具会导致打字稿错误
- mysql - 使用 Insert Ignore 时插入其他值
- nuxt.js - 如何将 Bootstrap5 的 Masonry 正确加载到 Nuxt?
- javascript - 使用 data-id ajax 从服务器中删除带有图像的 div
- spring-boot - Spring boot IoC:相同的bean定义,不同的分辨率
- django - Django中排序的过滤查询集中的下一个或上一个项目
- symfony - 使用 xampp 创建 symfony 数据库
- r - R中数据框列和2个列表之间的文本挖掘
- ios - 解码器在解析后打乱 JSON 键(包含动态键)序列