TabLayout导航头实现的滑动

来源:互联网 发布:json 数据格式 编辑:程序博客网 时间:2024/05/16 12:56

需要在Gradle Scripts中配置 compile ‘com.android.support:design:25.3.1’

1.布局文件

<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/men1_tabl">        </android.support.design.widget.TabLayout>    </HorizontalScrollView>    <android.support.v4.view.ViewPager        android:layout_width="match_parent"        android:layout_height="match_parent"        android:id="@+id/men1_Vpager"/>

2.这里是一个主方法

public class Fragment1 extends Fragment{    private LayoutInflater from;    private List<TitalBean.ResultBean.DateBean> date;    private ViewPager vpager;    private TabLayout tabl;    private ArrayList<Fragment> aslist;    private Adapter1 adapter;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        return inflater.inflate(R.layout.fragment1,container,false);    }    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        vpager = (ViewPager) getView().findViewById(R.id.men1_Vpager);        tabl = (TabLayout) getView().findViewById(R.id.men1_tabl);        initData();    }    //实现多个Title滑动    private void initId() {        //重写适配器        adapter = new Adapter1(getChildFragmentManager());        vpager.setAdapter(adapter);        tabl.setupWithViewPager(vpager,false);    }    private void initData() {        Ment1_Presenter presenter = new Ment1_Presenter();        presenter.getMent1Data(TitalBean.class);        presenter.attachView(this);        initId();    }    //显示数据    @Override    public void callBack(TitalBean bean) {        aslist = new ArrayList<>();        for (int i = 0; i < bean.getResult().getDate().size(); i++){            TitalBean.ResultBean.DateBean dateBean = bean.getResult().getDate().get(i);            String title = dateBean.getTitle();            //直接添加的一个text文本            tabl.addTab(tabl.newTab().setText(title));            String uri = dateBean.getUri();            //添加的一个页面            aslist.add(new FragmentTT(uri));        }        adapter.setList(aslist);        adapter.notifyDataSetChanged();    }}

3.适配器的实现

public class Adapter1 extends FragmentPagerAdapter {    private ArrayList<Fragment> list = new ArrayList();    public void setList(ArrayList<Fragment> lista){        this.list = lista;    }    public Adapter1(FragmentManager fm) {        super(fm);    }    @Override    public Fragment getItem(int position) {        return list.get(position);    }    @Override    public int getCount() {        return list.size();    }}
0 0
原创粉丝点击