在layout中的布局文件:
TabLayout带title的页面切换
tabBackground:title栏的背景颜色
tabIndicatorColor:选中title中的一个tab的时候的tab小标颜色
tabMode=”scrollable”title栏可以滚动
tabSelectTextColor title栏中选中tab的字体颜色

在Java中的代码如下:

public class Activity2 extends AppCompatActivity {
private ViewPager viewPager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.acty2);
initViewPager();
TabLayout tab = (TabLayout) findViewById(R.id.tab);
tab.setupWithViewPager(viewPager);
}
private void initViewPager() {
viewPager = (ViewPager) findViewById(R.id.viewPager);
List views = new ArrayList<>();
List datas = new ArrayList<>();
for (int i = 0; i < 100; i++) {
datas.add(i + “”);
} //每一个tab下有100个item数据
for (int i = 0; i < 10; i++) {
ListView view = new ListView(this);
ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_list_item_1, datas);
view.setAdapter(adapter);
views.add(view);
} //一共有10个tab
PagerAdapter adapter = new MyPagerAdapter(views);
viewPager.setAdapter(adapter);
}
private class MyPagerAdapter extends PagerAdapter{
private List views;
public MyPagerAdapter(List views) {
this.views = views;
}
@Override
public int getCount() {
return views.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
View view = views.get(position);
container.addView(view);
return view;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
View view = views.get(position);
container.removeView(view);
}
@Override
public CharSequence getPageTitle(int position) {
return tab+”position”;
}
};
}

效果图:
TabLayout带title的页面切换

相关文章: