高仿陌陌选项卡:文字大小变化的SlidingScaleTabLayout

Android AUmaWSsSoi 2周前 (09-06) 21次浏览 0个评论
文章目录[隐藏]

高仿陌陌选项卡:文字大小变化的SlidingScaleTabLayout

本文是在简书作者珠穆朗玛小王子的一篇文章,仿陌陌选项卡:文字大小变化的SlidingScaleTabLayout的基础上做了一定程度的优化,使得最终的效果更加接近陌陌的tab切换。
优化项:
解决了文字切换抖的厉害的问题
可以设置选中未选中的字体大小以及颜色
Github地址:
如果想要了解技术原理,请先参考简书作者的这边文章https://www.jianshu.com/p/252650d07340 ,我这边就不在重复这些内容了。
核心类是SlidingScaleTabLayout.java,地址是https://github.com/xingstarx/FlycoTabLayout/blob/master/FlycoTabLayout_Lib/src/main/java/com/flyco/tablayout/SlidingScaleTabLayout.java。用法可以参考demo工程,可以将https://github.com/xingstarx/FlycoTabLayout工程clone下来,编译运行后,观察demo的效果,也就是SlidingTabLayout2这个Activity的运行效果。
这里只介绍下,优化封装好之后的关键用法
SlidingScaleTabLayout tabLayout_1 = (SlidingScaleTabLayout) findViewById(R.id.tl_1);
ViewPager viewPager = (ViewPager) findViewById(R.id.vp);
mAdapter = new MyPagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(mAdapter);
tabLayout_1.setViewPager(viewPager);
private class MyPagerAdapter extends FragmentPagerAdapter {
    public MyPagerAdapter(FragmentManager fm) {
        super(fm);
    }
    // PagerAdapter中的getItemPosition实现,很关键的地方
    @Override
    public int getItemPosition(@NonNull Object object) {
        View view = (View) object;
        return (int) view.getTag();
    }

}
跟FlycoTabLayout项目中的其他Layout的用法比较相似,只有一点点的不同。
还是上张图,无图无真相:
高仿陌陌选项卡:文字大小变化的SlidingScaleTabLayout
参考资料:
https://www.jianshu.com/p/252650d07340

java问与答 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:http://javaexception.com/archives/210
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址