tablayout怎么加tab

tablayout怎么加tab,第1张

重新设置点击事件 viewPager.setAdapter(pagerAdapter)tabLayout.setupWithViewPager(viewPager)for (int i = 0i <tabLayout.getTabCount()i++) { TabLayout.Tab tab = tabLayout.getTabAt(i)if (tab != null) { tab.setCustomView(p...

开发过程中经常会遇到Tab左右或中间的圆角不一样,如下图所示:

根据上图发现两个Tab圆角不同,且不对称,无法通过设置tabBackground属性来实现不同的圆角,解决方案是采用自定义TabView的方法。具体实现方案如下:

TabLayout属性设置:

tabPadding和padding全部设置为0,由自定义TabView来设置相应的padding,tabIndicatorHeight设置为0,tabSelectedTextColor设置选中Tab文字颜色,tabTextAppearance设置Tab未选中文字颜色。

左边Tab选中背景bg_tab_left_select.xml:

左边Tab未选中背景bg_tab_left_unselect.xml:

右边Tab选中背景bg_tab_right_select.xml:

右边Tab未选中背景bg_tab_right_unselect.xml:

左边Tab背景选择器tab_left_selector.xml:

右边Tab背景选择器tab_right_selector.xml:

左边TabView自定义布局文件:

右边TabView自定义布局文件:

注意:

自定义View的高度要保持与TabLayout高度一致,负责背景填充有问题。

最后代码实现:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7878107.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存