[转]Android Design Library提供的TabLayout的用法

转载自:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0731/3247.html

在开发中,我们常常需要ViewPager结合Fragment一起使用,如下图:

1

我们可以使用三方开源的PagerSlidingTabStrip去实现,或者viewpagerindicator,我一般都偏向前者。现在我们可以使用Design support library库的TabLayout去实现了。最终的效果图:

效果图

效果图

创建布局

在xml添加TabLayout,如同ViewPager,直接android.support.design.widget.TabLayout即可。还有其他的属性我会在代码中设置。
创建Fragment

其中Fragment的布局为:

ViewPager的适配器

设置TabLayout

这里提几点我遇到的问题

开始我设置的是:

运行后,三个TabLayout标签挤到一块去了。如下:

挤压

查看api,找到结果了。这个tabmode有两个属性值:

  • MODE_FIXED:Fixed tabs display all tabs concurrently and are best used with content that benefits from quick pivots between tabs.
  • MODE_SCROLLABLE:Scrollable tabs display a subset of tabs at any given moment, and can contain longer tab labels and a larger number of tabs.

不做过多的解释,MODE_SCROLLABLE适合很多tabs的情况。

此外:

setupWithViewPager必须在ViewPager.setAdapter()之后调用

以上就是最基本的用法,是不是很简单。哈~

定义TabLayout的样式

默认的情况下,TabLayout的tab indicator的颜色是Material Design中的accent color(#009688),我们可以稍作修改:

在布局中使用:

还有一些其他的样式可供选择:

 

Leave a Reply

Your email address will not be published.