一个简单的TabLayout的使用

来源:互联网 发布:ucloud云计算 2016 09 编辑:程序博客网 时间:2024/06/10 14:57

1.导入design包,方法是,项目-右键-Open Moudle Seting-Dependencies-+号-在里面选择com.android.support:design包。当然也可以自己去指定版本:

  compile 'com.android.support:design:26.0.0-alpha1'

2.配合viewpage开始使用

 <android.support.v4.view.ViewPager        android:id="@+id/viewpage"        android:layout_width="match_parent"        android:layout_height="match_parent">    </android.support.v4.view.ViewPager>    <android.support.design.widget.TabLayout        android:id="@+id/tablayout"        android:layout_width="match_parent"        android:layout_height="wrap_content"        app:tabMode="fixed"        app:tabGravity="fill"></android.support.design.widget.TabLayout>

上面是xml,然后给viewpage设置adapter和新建fragment等等关于viewpage的操作;最后开始设置tablayout的显示问题:

默认只有一个滚动条,单个item是没有文字的,这个文字需要自己去设置

 //设置第一个tabbar的显示的文字,对于只是文字,可以用settext;对于带图片的,可以用SpannableString来做;        // 对于其他的view可以使用setCustomView来实现        TabLayout.Tab tab=tabLayout.getTabAt(0);       // tab.setText("第一个");        tab.setCustomView(LayoutInflater.from(MainActivity.this).inflate(R.layout.fragment,null,false));
注意:在上面的xml中,可以看到TabLayout有一个tabMode的属性,除了“fixed”还有一个“scrollable”;前者表示在一个页面显示所有的viepage,

比如,你的viewpage中有2个fragment,如果你用“fixed”的话,正好,这个tablayout分平分两个,每个是屏幕宽度的一半;但是如果你改成“scrollable”,你就会发现,单个Tab的宽度变小了,不是屏幕的1/2了,加起来才是屏幕的大概1/3;所以,对于fragment数量少的情况下,使用fixed,他会平分屏幕宽度;对于数量特别多的时候,使用scrollable,他会在当前屏幕显示部分的fragment,而剩下的可以通过滚动来显示。






原创粉丝点击