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中多重寫一個方法,
public CharSequence getPageTitle(int position) {
return titles[position]; //標題陣列位置
}