Android自定义TabLayout效果-创新互联

周末就要到了,今天项目中遇到这样一个Tab,选中tab的背景是个圆角矩形,方向指向器没有了,这样普通的TabLayout不能满足我的要求,可能会想到动态的去设置选中Tab的背景不就可以了,但是那样的话太生硬了,没有动画效果,其实想想也还比较简单,今天就简单的说一说这个YzzTab。效果如下图:

成都创新互联公司长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为永福企业提供专业的网站制作、成都网站制作永福网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。

这里是四个Tab,一版只显示3个,这里假设有num个Tab,当滑动到第3个时,这里就需要考虑如何让TabLayout和指示器一起移动呢?

@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
 if (positionOffset>1){
  return;
 }
 int leftCop = (int) (positionOffset*(getMeasuredWidth()/mMaxLineNum)+position*getMeasuredWidth()/mMaxLineNum);
 if (leftCop!=leftForTabLayout){
  //这里要做判断是否滑动,当选择的位置大于TabLayout中显示的大数-1时,会向左右滑动,指示器也会
  //跟这滑动,相对静止,否则指示器滑动,Tab布局不移动
  if (position>=mMaxLineNum-1) {
   scrollContent += leftCop - leftForTabLayout;
   scrollTo(scrollContent, 0);
   //这里要重新layout
   update();
  }
  leftForTabLayout = leftCop;
  invalidate();
 }
}

本文标题:Android自定义TabLayout效果-创新互联
网页URL:http://azwzsj.com/article/ceojse.html