TabLayout(核心代码)

来源:互联网 发布:玛雅软件培训 编辑:程序博客网 时间:2024/05/22 04:32

XML:

<android.support.design.widget.TabLayout    android:id="@+id/tab_titles"    android:layout_width="match_parent"    android:layout_height="0dp"    android:layout_weight="1" /><android.support.v4.view.ViewPager    android:id="@+id/viewpagers"    android:layout_width="match_parent"    android:layout_height="0dp"    android:layout_weight="9" />

逻辑代码:
package com.example.gengqiang.Frgament;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.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.view.ViewPager;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import com.example.gengqiang.R;import java.net.URLEncoder;import java.util.ArrayList;/** http://gank.io/api/data/数据类型/请求个数/第几页参数说明如下:数据类型: 福利、Android、iOS、休息视频、拓展资源、前端、all请求个数: 数字,大于0第几页:数字,大于0例如:http://gank.io/api/data/Android/10/1* */public class BlankFragment01 extends Fragment {    //定义需要的属性    private ArrayList<String> titleslist;    private ArrayList<Fragment> fragmentslist;    private ViewPager viewpagers;    private TabLayout tab_titles;    private String dataUrl = "http://gank.io/api/data/";    private ArrayList<String> list = new ArrayList<>();    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.fragment_blank_fragment01, null);        //创建集合        titleslist = new ArrayList<>();        fragmentslist = new ArrayList<>();        //封装Titles标题        titleslist.add("福利");        titleslist.add("Android");        titleslist.add("iOS");        titleslist.add("拓展资源");        titleslist.add("前端");        titleslist.add("all");        //调用Fragments的初始化方法        inItFragments();        //初始化控件        viewpagers = (ViewPager) view.findViewById(R.id.viewpagers);        tab_titles = (TabLayout) view.findViewById(R.id.tab_titles);        //设置上下拉模式        tab_titles.setTabMode(TabLayout.MODE_SCROLLABLE);        //TabLayout,Viewpager相关联        tab_titles.setupWithViewPager(viewpagers);        //创建适配器,并关联适配器        MAdapter adapter = new MAdapter(getChildFragmentManager());        viewpagers.setAdapter(adapter);        return view;    }//Fragments的初始化方法,将Fragments封装集合,并传入对应的接口参数    private void inItFragments() {//Android/10/1        for (int i = 0; i < titleslist.size(); i++) {            Fragments fragments = Fragments.getFragments(dataUrl + URLEncoder.encode(titleslist.get(i)) + "/10/1");            fragmentslist.add(fragments);        }    }//创建适配器    class MAdapter extends FragmentPagerAdapter {        public MAdapter(FragmentManager fm) {            super(fm);        }        @Override        public Fragment getItem(int i) {            return fragmentslist.get(i);        }        @Override        public int getCount() {            return fragmentslist.size();        }        @Override        public CharSequence getPageTitle(int position) {            return titleslist.get(position);        }    }}
原创粉丝点击