androidTabLayout的指示器宽度问题-创新互联
最近碰到一个需求,因为是我比较感兴趣的TabLayout的,所以记录一下吧。
- 产品需求:希望上部导航栏中的指示器宽度略大于文字宽度;
- 技术方案:TabLayout配合ViewPager;
- 问题分析: 原生TabLayout的指示器宽度等于每个tab的宽度,远大于 tab内文字标题的宽度。
原因分析:
TabLayout(TL)继承自HorizontalScrollView,其只能添加一个子控件,这个子控件便是TL内部私有类–SlidingTabStrip,其继承自LinearLayout。指示器怎么加上的呢?便是在该类的onDraw方法中:
@Override public void draw(Canvas canvas) { super.draw(canvas); // Thick colored underline below the current selection if (mIndicatorLeft >= 0 && mIndicatorRight > mIndicatorLeft) { canvas.drawRect(mIndicatorLeft, mIndicatorRight, getHeight(), mSelectedIndicatorPaint); } }
网站题目:androidTabLayout的指示器宽度问题-创新互联
URL网址:http://ybzwz.com/article/disjch.html