ViewPager+Fragment+TabLayout实现的头部滑动

来源:互联网 发布:淘宝防排查软件 编辑:程序博客网 时间:2024/05/21 10:47

添加依赖:compile ‘com.android.support:design:25.3.1’

一、布局文件

1.1、mainacvivity布局<HorizontalScrollView        android:layout_width="match_parent"        android:layout_height="55dp"        android:scrollbars="none"        >        <android.support.design.widget.TabLayout            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:id="@+id/onTab">        </android.support.design.widget.TabLayout>    </HorizontalScrollView>    <android.support.v4.view.ViewPager        android:layout_width="match_parent"        android:layout_height="match_parent"        android:id="@+id/vPager"        ></android.support.v4.view.ViewPager>

二、适配器

public class TabAdapter extends FragmentPagerAdapter {    private ArrayList<Fragment> list = new ArrayList<>();    public void getList(ArrayList<Fragment> list){        this.list = list;    }    public TabAdapter(FragmentManager fm) {        super(fm);    }    @Override    public Fragment getItem(int position) {        return list.get(position);    }    @Override    public int getCount() {        return list.size();    }}

三、MainAcitivity主方法

public class MainActivity extends AppCompatActivity {    private TabLayout onTab;    private ViewPager vPager;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initID();        initWIFI();    }    private void initID() {        onTab = (TabLayout) findViewById(R.id.onTab);        vPager = (ViewPager) findViewById(R.id.vPager);        initTabLayout();    }    //TabLayout的滑动    private void initTabLayout() {        onTab.setupWithViewPager(vPager,false);        //添加Fragment页面        TabAdapter tabAdapter = new TabAdapter(getSupportFragmentManager());        vPager.setAdapter(tabAdapter);        ArrayList<Fragment> fraList = new ArrayList<>();        ArrayList<String> list = new ArrayList<>();        list.add("一");        list.add("二");        list.add("三");        list.add("四");        list.add("五");        list.add("六");        list.add("七");        for (int i = 0; i < list.size(); i++) {            onTab.addTab(onTab.newTab().setText(list.get(i)));            //添加的是一个自定义Fragment页面            fraList.add(new Fragments());        }        tabAdapter.getList(fraList);        tabAdapter.notifyDataSetChanged();    }    }
阅读全文
0 0
原创粉丝点击