簡體   English   中英

如何在使用ViewPager的TabLayout設置中更改沒有動畫的頁面?

[英]How to change page without animation in a TabLayout setup with ViewPager?

我有一個使用ViewPager TabLayout設置。 當我選擇一個標簽時, ViewPager滾動到帶有動畫的所選頁面(顯示當前頁面和所選頁面之間的所有頁面)。 我希望ViewPager直接跳轉到所選頁面。

我知道我可以使用viewPager.setCurrentItem(1, false)來禁用smoothScroll 但我想更改默認行為以禁用smoothScroll上的ViewPager效果

這就是我所做的。

val mSectionsPagerAdapter = SectionsPagerAdapter(supportFragmentManager)

        vp!!.adapter = mSectionsPagerAdapter
        vp!!.addOnPageChangeListener(object: ViewPager.OnPageChangeListener {
            override fun onPageScrollStateChanged(state: Int) {
            }

            override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {
            }

            override fun onPageSelected(position: Int) {
                when (position) {
                    0 -> supportActionBar!!.title = "Page 1"
                    1 -> supportActionBar!!.title = "Page 2"
                    2 -> supportActionBar!!.title = "Page 3"
                    3 -> supportActionBar!!.title = "Page 4"
                }
            }
        })

        tabLayout.setupWithViewPager(vp)

您可以繼承ViewPager並創建自定義ViewPager請在此鏈接中查看Toni的答案: 在ViewPager中禁用動畫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM