其他分享
首页 > 其他分享> > TabLayout使用中注意事项

TabLayout使用中注意事项

作者:互联网

TabLayout

1.tabView如何撑满TabLayout

 <android.support.design.widget.TabLayout
        android:id="@+id/tab_layout"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        app:tabMinWidth="0dp"
        app:tabMaxWidth="0dp"
        app:tabPaddingStart="0dp"  
        app:tabPaddingEnd="0dp"
        app:tabBackground="@android:color/transparent"
        app:tabMode="fixed"
        app:tabGravity="fill"
        app:tabIndicator="@null"//设置tabLayout下面的线条为@null 28以下会编译不错,可以直接设置indica的高度为0就行
        android:background="@color/gray_fd"
        app:tabRippleColor="@android:color/transparent"//去水波纹,28以下会编译不过,不加也是ok的
        />
        
        其中比较重要的几个属性:
        app:tabMinWidth="0dp"
        app:tabMaxWidth="0dp"
        //这里纯粹是为了能够写横向带滑动的TabLayout的时候,每个TabView能够按照自己的绘制走,不用去考虑到底多大,加入上面两个就ok
        app:tabPaddingStart="0dp"  
        app:tabPaddingEnd="0dp"
        //上面,第一个是距离左边,第二个是距离右边,都设置了之后就会发现左边右边都没有距离
        

如果运行之后,发现上下有距离,那么就是setCustomView这里写得不对,正确写法

View tabView=LayoutInflater.from(this).inflate(R.layout.xxx, tabLayout,false);

2.TabLayout+ViewPager的联动

tabLayout.setupWithViewPager(viewPager);
该方法只适合 非 TabLayout+ViewPager+Fragment这种,或者自定义绘制VIew的情况

推荐


tabLayout.addOnTabSelectedListener(new OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                //获取当前选中的position
                int clickPosition=tab.getPosition();
               viewPager.setCurrentItem(clickPosition,true);
               
            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {
             
            }

            @Override
            public void onTabReselected(TabLayout.Tab tab) {

            }
        });
        viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
 }

标签:ViewPager,app,注意事项,0dp,TabLayout,tab,使用,tabLayout
来源: https://blog.csdn.net/ONLYMETAGAIN/article/details/89244512