为什么在更改ViewPager的padding和pagemargin之前,先滚动ViewPager?
我希望能够在两种不同的状态之间切换我的viewpager。 一个片段占据整个屏幕的状态,另一个状态显示片段两侧的预览。 以下是所需的效果: https : //im2.ezgif.com/tmp/ezgif-2-d5afc38aa7.gif
请注意,gif仅适用于viewpager中的第一项。 观看在尝试切换状态之前滚动到viewpager中的另一个项目时会发生什么情况: https : //im2.ezgif.com/tmp/ezgif-2-bf17757173.gif正如您所看到的,我在标有“2”的项目上并在第二个状态“缩小”到某个不正确的点。
以下是我的代码(在Kotlin中):
fun setupListeners() { btnTest.setOnClickListener { TransitionManager.beginDelayedTransition(binding.viewPager) if(stateTwo) { resetViewPagerStyling() } else { setViewPagerStateTwo() } stateTwo = !stateTwo } } fun setViewPagerInStateTwo() { // Setup view pager to show siblings viewPager.clipToPadding = false // Setup margins to show pages to the side viewPager.setPadding(100, 100, 100, 100) viewPager.pageMargin = 50 } fun resetViewPagerStyling() { // Setup view pager to show siblings viewPager.clipToPadding = true // Reset margin and padding to 0 viewPager.setPadding(0, 0, 0, 0) viewPager.pageMargin = 0 }
- Moshi的定制适配器与RxAndroid&Retrofit&Kotlin
- java.lang.RuntimeException:无法实例化活动ComponentInfo
- 匕首2生成的测试组件不被识别
- 在kotlin中,如何传递一个MutableList,其中目标需要一个List
- 使用Kotlin添加自定义的Twitter REST API查询
- 如何在android的后台运行一段代码?
- 单元测试室和LiveData
- java.lang.RuntimeException:将结果ResultInfo(who = null,request = 1888,result = 0,data = null)传递给activity
- Observable.just()返回Kotlin中的Unit