您的位置:首页 > 其它

TabLayout与ViewPager的联动使用

2017-10-24 09:29 543 查看
//开始先写布局文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">

<android.support.design.widget.TabLayout
android:id="@+id/tab"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_blue_bright"
app:tabIndicatorColor="@android:color/white"
app:tabSelectedTextColor="@android:color/darker_gray"
app:tabTextColor="@android:color/white" ></android.support.design.widget.TabLayout>

<android.support.v4.view.ViewPager
android:id="@+id/vp"
android:layout_width="match_parent"
android:layout_height="match_parent"></android.support.v4.view.ViewPager>
</LinearLayout>



//接下来到代码
public class Fristpage extends Fragment {
private TabLayout tab;
private ViewPager vp;
private String[] titles = new String[]{"推荐", "课程","实践", "职业路径"};
private Fragment[] fragments;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v=inflater.inflate(R.layout.fristpage,null);
// 找控件
tab= (TabLayout) v.findViewById(R.id.tab);
vp= (ViewPager) v.findViewById(R.id.vp);
// 定义一个fragment数组
fragments = new Fragment[titles.length];
fragments[0]=new Tuijian();
fragments[1]=new Kecheng();
fragments[2]=new Shizhan();
fragments[3]=new Zhiye();
//设置viewPager一次加载所有的页面
vp.setOffscreenPageLimit(titles.length);
vp.setAdapter(new MyFragmentAdapter(getChildFragmentManager()));
//进行关联
tab.setupWithViewPager(vp);

return v;
}
// fragmentpageradapter的适配器
class MyFragmentAdapter extends FragmentPagerAdapter {

@Override
public CharSequence getPageTitle(int position) {
return titles[position];
}

public MyFragmentAdapter(FragmentManager fm) {
super(fm);
}

@Override
public Fragment getItem(int position) {
return fragments[position];
}

@Override
public int getCount() {
return titles.length;
}
}
}


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: