函数:setUnboundedRipple
这是默认的点击的动画
咱们用代码修改一下:git
mGlueTabLayout.setUnboundedRipple(true);
这是以后的效果:github
函数:setTabIndicatorFullWidth
这是默认的效果
咱们用代码修改一下:函数
mGlueTabLayout.setTabIndicatorFullWidth(false);
这是以后的效果:动画
函数:setSelectedTabIndicator
这是默认的效果
咱们用代码改变:spa
GradientDrawable gradientDrawable = new GradientDrawable(); gradientDrawable.setCornerRadius(dp2px(2)); mGlueTabLayout.setSelectedTabIndicator(gradientDrawable);
我改变了其的直角,变为了圆角,看效果吧:
您也能够在res/drawable
文件夹下写个xml文件传入setSelectedTabIndicator(@DrawableRes int tabSelectedIndicatorResourceId)
,效果是同样的。3d
这个动画很好看,我也在一些应用上看到它的影子,好比微博。code
因此,我写了GlueTabLayout
简单扩展了TabLayout
,添加了这个动画,GlueTabLayout
本质就是TabLayout
,一点未变,您怎么用TabLayout
,就能够怎么使用GlueTabLayout
,是否是很友好,哈哈。
我还添加了一个TabLayout
没有提供的方法,我添加了精确设置下划线指示器宽度的方法。xml
我把它开源了,用以方便有须要的人,更详细的内容移步 GitHub 。blog
以上 :)ip