十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
最近碰到一个需求,因为是我比较感兴趣的TabLayout的,所以记录一下吧。

原因分析:
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);
}
}