布局
<?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" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:focusableInTouchMode="true" android:focusable="true"> <android.support.design.widget.TabLayout android:layout_width="match_parent" android:layout_height="40dp" android:id="@+id/tab" app:tabGravity="fill" app:tabIndicatorColor="@color/colorAccent" app:tabMode="fixed" app:tabSelectedTextColor="@color/colorPrimaryDark" app:tabTextColor="@color/colorPrimary" > </android.support.design.widget.TabLayout> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/vp"> </android.support.v4.view.ViewPager> </LinearLayout>
///
package animtest.com.example.e531.week2_10month.fragments;
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.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
import java.util.List;
import animtest.com.example.e531.week2_10month.R;
import animtest.com.example.e531.week2_10month.adapter.MyPagerAdapter;
import animtest.com.example.e531.week2_10month.adapter.MyPagerAdapter;
/**
* Created by e531 on 2017/10/16.
*/
public class ShouYeFragment extends Fragment{
* Created by e531 on 2017/10/16.
*/
public class ShouYeFragment extends Fragment{
private View v;
private TabLayout tab;
private ViewPager viewPager;
private List<String> tabs;
private TabLayout tab;
private ViewPager viewPager;
private List<String> tabs;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
v = inflater.inflate(R.layout.shouye_layout,null);
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
v = inflater.inflate(R.layout.shouye_layout,null);
initView();
return v;
}
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
tabs=new ArrayList<>();
tabs.add("动态");
tabs.add("热门");
tabs.add("发现");
tabs.add("动态");
tabs.add("热门");
tabs.add("发现");
//设置viewpager的适配器
viewPager.setAdapter(new MyPagerAdapter(getChildFragmentManager(),tabs));
viewPager.setAdapter(new MyPagerAdapter(getChildFragmentManager(),tabs));
//进行关联
tab.setupWithViewPager(viewPager);
tab.setupWithViewPager(viewPager);
}
private void initView() {
tab = (TabLayout) v.findViewById(R.id.tab);
viewPager = (ViewPager) v.findViewById(R.id.vp);
tab = (TabLayout) v.findViewById(R.id.tab);
viewPager = (ViewPager) v.findViewById(R.id.vp);
}
}
}
/
package animtest.com.example.e531.week2_10month.adapter;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import java.util.List;
import animtest.com.example.e531.week2_10month.fragments.ContentFragment;
import animtest.com.example.e531.week2_10month.fragments.DongTaiFragment;
import animtest.com.example.e531.week2_10month.fragments.FindFragment;
import animtest.com.example.e531.week2_10month.fragments.DongTaiFragment;
import animtest.com.example.e531.week2_10month.fragments.FindFragment;
/**
* Created by e531 on 2017/10/17.
*/
public class MyPagerAdapter extends FragmentPagerAdapter {
* Created by e531 on 2017/10/17.
*/
public class MyPagerAdapter extends FragmentPagerAdapter {
//选项卡文字列表
private List<String> tabs;
private List<String> tabs;
public MyPagerAdapter(FragmentManager fm,List<String> tabs) {
super(fm);
this.tabs=tabs;
}
super(fm);
this.tabs=tabs;
}
//用于返回选项卡的文本
@Override
public CharSequence getPageTitle(int position) {
return tabs.get(position);
}
@Override
public CharSequence getPageTitle(int position) {
return tabs.get(position);
}
@Override
public Fragment getItem(int position) {
Fragment f=null;
switch (position){
case 0:
f=new DongTaiFragment();//动态页面
break;
case 1:
f=new ContentFragment();//热门页面
break;
case 2:
f=new FindFragment();//发现页面
break;
}
public Fragment getItem(int position) {
Fragment f=null;
switch (position){
case 0:
f=new DongTaiFragment();//动态页面
break;
case 1:
f=new ContentFragment();//热门页面
break;
case 2:
f=new FindFragment();//发现页面
break;
}
return f;
}
}
@Override
public int getCount() {
return tabs.size();
}
}
public int getCount() {
return tabs.size();
}
}