Android pagerSlidingTab自定义滑动条(indicator)宽度

来源:互联网 发布:think php sae 编辑:程序博客网 时间:2024/06/03 12:55

PagerSlidingTab + ViewPager 是现在比较常见的控件组合(或者说是本人用的比较多的一种...),虽说它提供的接口已经比较完善,但难免还是不能满足所有需

求,最近就碰上了一个需求,需要指定tab的宽度,PagerSlidingTab暂时还未提供这个接口,那就自己写一个吧~


PagerSlingTab提供了一个叫“shouldExpand”的布尔类型的属性,如果是true,那么会按照tab的个数自动填充布局,相当于每个tab的权重为1,如果false,则
wrap_content,说白了就是设置一下tab的layoutParams,那么要改变宽度的话,直接设置他的layoutParams不就OK了嘛!


public void setTabLayoutParams(int width){
if(shouldExpand){
expandedTabLayoutParams = new LinearLayout.LayoutParams(width, LayoutParams.MATCH_PARENT);
}else{
defaultTabLayoutParams = new LinearLayout.LayoutParams(width,LayoutParams.MATCH_PARENT);
}
invalidate();
}

just like this,搞定!

0 0
原创粉丝点击