gradle中添加依赖
*compile'com.android.support:design:26+'
/** * 1--写tablayout * 2--- 写viewPager * 3-- 写viewPagerAdapter * 4-- 让TabLayout和Viewpager关联; */
布局文件代码
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.bwie.tablayoutdemo2.MainActivity"> <android.support.design.widget.TabLayout android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="wrap_content" /> <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" /> </LinearLayout>
---------------------------------------
MainActivity代码, 注意FragmentPagerAdapt中要重写getPageTitle方法;
package com.bawie.zhengenru.monthdemo2.Fragment; import android.os.Bundle; import android.support.annotation. Nullable; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.bawie.zhengenru.monthdemo2.R; import java.util.ArrayList; /** * author:Created by WangZhiQiang on 2018/3/3. */ public class MessageFragment extends android.support.v4.app.Fragment { private TabLayout tablayout; private ViewPager view_pager; ArrayList<String> titlelist = new ArrayList<>(); ArrayList<Fragment> fragmentList = new ArrayList<>(); @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View inflate = inflater.inflate(R.layout. message, container, false); tablayout = inflate.findViewById(R.id. tl); view_pager = inflate.findViewById(R.id. view_pager); initData(); //设置适配器 MyPagerAdapter adapter = new MyPagerAdapter(getChildFragmentManager()); view_pager.setAdapter(adapter); //设置模式 tablayout.setTabMode(TabLayout. MODE_SCROLLABLE); //让标题与ViewPager有关联 tablayout.setupWithViewPager( view_pager); return inflate; } private void initData() { titlelist.add( "泸深"); fragmentList.add( new HuShenFragment()); titlelist.add( "板块"); fragmentList.add( new HuShenFragment()); titlelist.add( "指数"); fragmentList.add( new HuShenFragment()); titlelist.add( "港股"); fragmentList.add( new HuShenFragment()); titlelist.add( "新三板"); fragmentList.add( new HuShenFragment()); titlelist.add( "商品"); fragmentList.add( new HuShenFragment()); titlelist.add( "更新"); fragmentList.add( new HuShenFragment()); titlelist.add( "体育"); fragmentList.add( new HuShenFragment()) 或者(new BlankFragment()); } private class MyPagerAdapter extends FragmentPagerAdapter{ public MyPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem( int position) { return fragmentList.get(position); } @Override public int getCount() { return titlelist.size(); } @Override public CharSequence getPageTitle( int position) { return titlelist.get(position); } }}
**************************************
Fragment代码,Fragment用的都是V4包里的;
public class BlankFragment extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { TextView textView = new TextView(getActivity()); double random = Math.random(); textView.setText("xxxxxxxxxxx"+random); return textView; } }