
public class TabLayoutViewPagerActivity extends AppCompatActivity {
ViewPager viewpage;
List<TabLayoutFragment> fragmentList = new ArrayList<TabLayoutFragment>();
ViewPageAdapter adapter;
TabLayout tabLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tab_layout_view_pager);
viewpage = (ViewPager) findViewById(R.id.viewpage);
tabLayout = (TabLayout) findViewById(R.id.tabLayout);
for (int i = 0; i < 12; i++) {
fragmentList.add(new TabLayoutFragment("标题" + i, "内容" + i));
}
adapter = new ViewPageAdapter(getSupportFragmentManager());
viewpage.setAdapter(adapter);
tabLayout.setupWithViewPager(viewpage);
// tabLayout.setTabMode(TabLayout.MODE_FIXED);//固定
tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);//滑动
// 设置Tab的分割线是透明的
// LinearLayout linearLayout = (LinearLayout) tabLayout.getChildAt(0);
// linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
// linearLayout.setDividerDrawable(ContextCompat.getDrawable(this,
// R.mipmap.ic_launcher));
}
class ViewPageAdapter extends FragmentPagerAdapter {
public ViewPageAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return fragmentList.get(position);
}
@Override
public int getCount() {
return fragmentList.size();
}
@Override
public CharSequence getPageTitle(int position) {
return fragmentList.get(position).getTitle();
}
}
}
public class TabLayoutFragment extends Fragment {
Context mContext;
TextView textView;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
String title;
String content;
public TabLayoutFragment(String title,String content){
this.title=title;
this.content=content;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext=getActivity();
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
textView=new TextView(mContext);
textView.setGravity(Gravity.CENTER);
textView.setText("");
textView.setTextColor(Color.RED);
textView.setTextSize(25);
return textView;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
textView.setText(content);
}
}
activity_tab_layout_view_pager.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.xutils3testdemo.TabLayoutViewPagerActivity">
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_blue_bright"
app:tabSelectedTextColor="@android:color/holo_red_dark"
app:tabIndicatorColor="@android:color/holo_red_dark"
app:tabTextColor="@android:color/white">
</android.support.design.widget.TabLayout>
<android.support.v4.view.ViewPager
android:id="@+id/viewpage"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v4.view.ViewPager>
</LinearLayout>