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>