不,你这样还是会有默认的翻页动画,想要的效果是完全没有动画
时间: 2024-02-23 09:00:24 浏览: 21
哦,我明白了。要完全取消 ViewPager2 的翻页动画,可以通过自定义 ViewPager2.PageTransformer 来实现。具体步骤如下:
1. 创建一个空的 PageTransformer 实现类,可以命名为 NoAnimationPageTransformer,代码如下:
```kotlin
class NoAnimationPageTransformer : ViewPager2.PageTransformer {
override fun transformPage(page: View, position: Float) {
// Do nothing
}
}
```
2. 在 ViewPager2 的 adapter 中重写 getPageWidth() 方法,将其返回值设置为 1f,代码如下:
```kotlin
class MyAdapter(fragment: Fragment) : FragmentStateAdapter(fragment) {
override fun getItemCount() = 3
override fun createFragment(position: Int) = MyFragment.newInstance(position)
override fun getPageWidth(position: Int) = 1f
}
```
3. 在 ViewPager2 中设置刚才创建的 adapter 和 PageTransformer,代码如下:
```kotlin
viewPager2.adapter = MyAdapter(this)
viewPager2.setPageTransformer(NoAnimationPageTransformer())
```
这样就可以完全取消 ViewPager2 的翻页动画了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)