横向滑动

来源:互联网 发布:nginx php 500错误 编辑:程序博客网 时间:2024/05/17 15:38
private TabLayout tabLayout;
    private ViewPager viewPager;
    private List<String> list;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tabLayout = (TabLayout) findViewById(R.id.tab);
        viewPager = (ViewPager) findViewById(R.id.view_pager);

        list = new ArrayList<>();

        list.add("头条");
        list.add("军事");
        list.add("娱乐");
        list.add("新闻");
        list.add("财经");
        list.add("体育");
        list.add("科技");
        list.add("游戏");
        list.add("汽车");
        list.add("环保");
        list.add("视频");
        list.add("国内");

        //1.给viewPager设置适配器
        /**
         * 管理者对象有几种????
         * getSupportFragmentManager()...activity管理他身上的fragment的时候使用
         * getChildFragmentManager()...fragment嵌套的时候,,,管理孩子需要使用这个管理者
         * getFragmentManager()....孩子里面还有fragment的话就使用这个
         */
        viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {

            //2.重写这个方法getPageTitle,,,得到当前页面的标题
            @Override
            public CharSequence getPageTitle(int position) {

                return list.get(position);
            }

            @Override
            public Fragment getItem(int position) {

                NewsFragment newsFragment = new NewsFragment();

                //应该要做的是传值,,,,去fragment里面获取,,,获取到值之后,,,在进行url路径的拼接

                Bundle bundle = new Bundle();

                bundle.putString("name","头条");
                newsFragment.setArguments(bundle);

                return newsFragment;
            }

            @Override
            public int getCount() {
                return list.size();
            }
        });

        //3.将tabLayout和viewPager关联起来
        tabLayout.setupWithViewPager(viewPager);

    }


=============================================XML================================


xmlns:app="http://schemas.android.com/apk/res-auto"


<android.support.design.widget.TabLayout
        android:id="@+id/tab"
        app:tabGravity="center"
        app:tabIndicatorColor="@color/colorAccent"
        app:tabMode="scrollable"
        app:tabSelectedTextColor="@color/colorPrimaryDark"
        app:tabTextColor="@color/colorPrimary"
        android:layout_width="match_parent"
        android:layout_height="40dp" />

    <android.support.v4.view.ViewPager
        android:layout_below="@+id/tab"
        android:id="@+id/view_pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </android.support.v4.view.ViewPager>

原创粉丝点击