1. 程式人生 > >Android中應用TabLayout實現頂部Tab小選單加滑動效果

Android中應用TabLayout實現頂部Tab小選單加滑動效果

TabLayout控制元件是2015年google大會上,google釋出了新的Android Support Design,裡面包含了幾個新的控制元件,其中就有一個TabLayout,它就可以完成TabPageIndicator的效果,而且還是官方的,最好的是它可以相容到2.2以上版本,包括2.2。

在android stutio應用TabLayout控制元件只要在build.gradle中加入compile 'com.android.support:design:23.2.0'即可。

一般實現頂部小選單加側滑,只要TabLayout+Viewpager就可以實現。

在activitylayout佈局中新增TabLayout+Viewpager控制元件。

TabLayout中:在JAVA程式碼中:

tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);

tabLayout.setTabMode(TabLayout.MODE_FIXED);

在XML佈局中:

app:tabGravity="fill"

app:tabMode="fixed"

其中,tabGravity有GRAVITY_CENTER 和 GRAVITY_FILL兩種,GRAVITY_CENTER為居中,GRAVITY_FILL為儘可能填充。

tabMode有MODE_FIXED和MODE_SCROLLABLE兩種,MODE_FIXED為固定tabs,並同時顯示所有的tabs,MODE_SCROLLABLE為


可滾動tabs,顯示一部分tabs,在這個模式下能包含長標籤和大量的tabs,最好用於使用者不需要直接比較tabs。

實現頂部小選單加側滑只要實現三個方法:

mViewPager.setAdapter(mAdapter);//給ViewPager設定介面卡
mTabLayout.setTabsFromPagerAdapter(mAdapter);//給Tabs設定介面卡
mTabLayout.setupWithViewPager(mViewPager);//將TabLayout和ViewPager關聯起來。

其中PagerAdapter中多重寫一個方法,

                                                           @Override

public CharSequence getPageTitle(int position) {

return titles[position]; //標題陣列位置

}