码迷,mamicode.com
首页 > 其他好文 > 详细

cathome 猫家 开发日记-tablayout+viewpager+fragment

时间:2018-11-06 21:26:45      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:int   public   滑动菜单   fragment   滑动   ntp   xtend   pack   The   

概述

1.tablayout。纯粹就是一个滑动菜单,只是多加一个事件,触发viewpager的滑动。

2.viewpage,是主角,一般是设定  adapter,在 adapter中,决定如何显示view,以及显示多少个view.

   这里系统已经封装了一个adapter叫 fragmentadapter.转为针对view里面放fragment  的。并且主要方法为 public Fragment getItem(int i)

所以建立多个fragment  .并传递给adapter. 就可以。主体上结构其实很简单。

 

1.初始化2个空间
FindControls(view_content); SetupTablayout(); SetupViewPager();
2.简单到死。建立 list<fragment> 传递给 adapter,这个派生的adapter。其实很简单。 private void SetupViewPager() { List<Fragment> fragments=new ArrayList<>(); fragments.add(new life()); fragments.add(new birth()); fragments.add(new illness()); fragments.add(new other()); LSUIViewPagerFragmentAdapter adapter_fragment=new LSUIViewPagerFragmentAdapter(getSupportFragmentManager(),fragments); mPages.setAdapter(adapter_fragment); }

 

派生的adapter
package com.utils.widgets;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

import java.util.ArrayList;
import java.util.List;

public class LSUIViewPagerFragmentAdapter extends FragmentPagerAdapter
{
    private List<Fragment> mFragments;

    public LSUIViewPagerFragmentAdapter(FragmentManager fm, List<Fragment> fragments)
    {
        super(fm);
        mFragments=fragments;
        if(mFragments==null)
        {
            mFragments=new ArrayList<>();
        }
    }

    @Override
    public Fragment getItem(int i)
    {
        return mFragments.get(i);
    }

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

 

cathome 猫家 开发日记-tablayout+viewpager+fragment

标签:int   public   滑动菜单   fragment   滑动   ntp   xtend   pack   The   

原文地址:https://www.cnblogs.com/lsfv/p/9918035.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!