根据上图发现两个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高度一致,负责背景填充有问题。
最后代码实现:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)