viewpager和Fragment连用一直让我头疼,但是我没放弃他,今天就来整理下他,我在这还多用了一个tablayout
首先是写几个Fragment类这就不多说了,其次就是和viewpager联系该有一个依赖:compile 'com.android.support:design:26.0.0-alpha1'
private void initTab() { List<Fragment> fragments = new ArrayList<Fragment>(); fragments.add(new BlankFragment0()); fragments.add(new BlankFragment1()); fragments.add(new BlankFragment2()); fragments.add(new BlankFragment3()); fragments.add(new BlankFragment4()); fragments.add(new BlankFragment5()); fragments.add(new BlankFragment6()); fragments.add(new BlankFragment7()); fragments.add(new BlankFragment8()); fragments.add(new BlankFragment9()); view_pager.setAdapter(new Pager_Adapter(getSupportFragmentManager(), fragments)); for (int ii = 0; ii < fragments.size(); ii++) { tab_layout.addTab(tab_layout.newTab()); } //5.使得tablayout与viewpager相关联 tab_layout.setupWithViewPager(view_pager); //6.给tablayout指示器设置文本 2,同时改变的还有这个地方 tab_layout.getTabAt(0).setText("头条"); tab_layout.getTabAt(1).setText("娱乐"); tab_layout.getTabAt(2).setText("体育"); tab_layout.getTabAt(3).setText("上海"); tab_layout.getTabAt(4).setText("财经"); tab_layout.getTabAt(5).setText("科技"); tab_layout.getTabAt(6).setText("热点"); tab_layout.getTabAt(7).setText("段子"); tab_layout.getTabAt(8).setText("图片"); tab_layout.getTabAt(9).setText("汽车");}
在这里我还用到了viewpager的适配器,当然他是不可少的
public class Pager_Adapter extends FragmentPagerAdapter{ private List<Fragment> data; public Pager_Adapter(FragmentManager fm, List<Fragment> data) { super(fm); this.data = data; } public Pager_Adapter(FragmentManager fm) { super(fm); } @Override public android.support.v4.app.Fragment getItem(int position) { return data.get(position); } @Override public int getCount() { return data.size(); } }这是他的一个布局,为了让tablayout可以滑动我顺手添加了个scrollview<HorizontalScrollView android:id="@+id/hor_scroll" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scrollbars="none" android:layout_weight="29" > <android.support.design.widget.TabLayout android:id="@+id/tab_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" > </android.support.design.widget.TabLayout> </HorizontalScrollView> <ImageButton android:id="@+id/imageButton2" android:layout_width="44dp" android:layout_height="wrap_content" app:srcCompat="@android:drawable/ic_menu_add" android:layout_weight="1"/> </LinearLayout> <android.support.v4.view.ViewPager android:id="@+id/view_pager" android:layout_width="match_parent" android:layout_height="match_parent"></android.support.v4.view.ViewPager>