android

您所在的位置:网站首页 切换动画在哪个选项卡 android

android

2024-05-18 10:41| 来源: 网络整理| 查看: 265

选项卡切换时平滑动画 时间:2013-11-18 01:00:52

标签: android android-actionbar android-animation

我在ViewPager中使用ActionBar.Tabs,看起来像enter image description here

我实施了ActionBar.TabListener和ViewPager.OnPageChangeListener来支持当用户在ViewPager中滑动页面时,标签指示符会相应更改(蓝色指示符将移动到相应的标签页)。

现在我意识到蓝色指示器在没有任何动画的情况下发生变化,并且看起来不太好。 (当我从tab1滑动到tab2时,蓝色指示符在tab1下消失并出现在tab2下面)。有没有办法改变它,以便当我切换标签时,蓝色标签指示在标签之间平滑移动?

2 个答案:

答案 0 :(得分:0)

使用设计支持库中的TabLayout类: https://developer.android.com/reference/android/support/design/widget/TabLayout.html

它有一个setupWithViewPager可以轻松地将其与ViewPager连接,并且它有一个滑动指示条。

答案 1 :(得分:0)

在我的情况下,它是由于TabSelectedListener而出现的。在tab_layout.addOnTabSelectedListener()中,我改写了onTabSelected方法,在该方法中我没有延迟地打开了另一个活动。

view.tab_layout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { override fun onTabReselected(tab: TabLayout.Tab?) { } override fun onTabUnselected(tab: TabLayout.Tab?) { } override fun onTabSelected(tab: TabLayout.Tab?) { if (tab?.position == 1) { MapsActivity.showScreen(this@ThisFragment) } } })

我拖延了那个方法:

override fun onTabSelected(tab: TabLayout.Tab?) { if (tab?.position == 1) { // Show tab animation and open an activity. view.tab_layout.postDelayed({ // This check is optional. if (isAdded && view.tab_layout.selectedTabPosition == 1) { MapsActivity.showScreen(this@YourFragment) } }, 250) } }

我也尝试更改持续时间值,但不知道如何(无济于事):

view.tab_layout.animation = object: Animation() {} view.tab_layout.animation.duration = 1000 view.tab_layout.layoutAnimation = LayoutAnimationController(object: Animation() {}) view.tab_layout.layoutAnimation.delay = 1000f view.tab_layout.layoutAnimation.animation.duration = 1000


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3