基于TabLayout中的Tab间隔设置方法(实例讲解)

TabLayout和ViewPager搭配使用,是有很多方便性,但是TabLayout这东西还是有很多被人吐槽的地方。

在西双版纳等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计、成都网站建设 网站设计制作按需制作,公司网站建设,企业网站建设,品牌网站建设,成都营销网站建设,成都外贸网站建设,西双版纳网站建设费用合理。

这里只讲怎么设置tab之间的间隔,网上找了一堆方法,什么padding和margin的啥都没用,没办法,想用TabLayout只能自己想办法了。效果如下:

基于TabLayout中的Tab间隔设置方法(实例讲解)

一、实现方法,既然这东西不好设置,那就直接在背景上做点事情,布局代码如下:

二、其中关键的地方就在背景的selector上,代码如下:

<?xml version="1.0" encoding="utf-8"?>

 
  
  
  
   
    
     
    
   
   
    
     
     
    
   
  
 
 
  
  
   
    
     
    
   
   
    
     
     
    
   
  
 

注释掉的地方是原来没间隔的selector,这里直接给背景设置了个左右的padding,效果杠杠的。

缺点:如果间隔过大的话,那这种方式就有一点的缺陷了,就是点击到空白处,也能选中tab。

不过对于间隔不是很大的,基本是感觉不出来的。

三、Activity的使用就很简单了:

TabLayout mTabLayout = (TabLayout) findViewById(R.id.tl_download_tabs);
  mTabLayout.addTab(mTabLayout.newTab().setText("已下载"));
  mTabLayout.addTab(mTabLayout.newTab().setText("下载中"));
  mTabLayout.setupWithViewPager(mViewPager);

四、原来是线性布局下,放着TabLayout和ViewPager,试着在TabLayout外嵌套多一个RelativeLayout,发现出来的效果Tab的文字不显示了,至于网上说的调换addTab和setupWithViewPager的顺序也是坑,可以看到显示,但是出现了更离谱的情况,前面两个空白,后面还多了两个正常的,反正是很奇葩。

最后还是得在Adapter中去处理,把以下方法重写下就可以了,其实这样可能更合理些,至少能保证Tab的数量和ViewPager的页数是一致的。

@Override
  public CharSequence getPageTitle(int position) {
   if(position == 0){
    return "已下载";
   }else if(position == 1){
    return "下载中";
   }
   return "";
  }

以上这篇基于TabLayout中的Tab间隔设置方法(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持创新互联。


网页名称:基于TabLayout中的Tab间隔设置方法(实例讲解)
网站网址:http://myzitong.com/article/psgipj.html