android |
您所在的位置:网站首页 › 切换动画在哪个选项卡 › android |
选项卡切换时平滑动画
时间:2013-11-18 01:00:52
标签: android android-actionbar android-animation 我在ViewPager中使用ActionBar.Tabs,看起来像 我实施了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 |