ViewPagerIndicator简单用法

来源:互联网 发布:2017年淘宝双十一晚会 编辑:程序博客网 时间:2024/05/16 16:19

ViewPagerIndicator简单用法

需求:一个Activity中有四个Fragment,第一个Fragment可以切换多个界面
这里写图片描述

  • 先下载ViewPagerIndicatorLibrary

  • 在清单文件中为MainActivity添加主题

    <activity            android:name=".MainActivity"            android:label="@string/app_name"            android:theme="@style/Theme.PageIndicatorDefaults" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>
  • ZhicuoFragment代码如下
public class ZhicuoFragment extends Fragment{    private ViewPager mViewPager;    private TabPageIndicator indicator;    private ArrayList<String> mTabTitle;    private ArrayList<Pager> mPagers;    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container,            Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.fragment_zhicuo, null);        mViewPager = (ViewPager) view.findViewById(R.id.vp_zhicuo_detail);        indicator = (TabPageIndicator) view.findViewById(R.id.indicator);        initTabData();        return view;    }    /**     * 初始化标签页     */    private void initTabData() {        mTabTitle = new ArrayList<String>();        mPagers = new ArrayList<Pager>();        mTabTitle.add("综合");        mTabTitle.add("诈骗");        mTabTitle.add("婚");        mTabTitle.add("住房");        mTabTitle.add("汽车");        mTabTitle.add("育儿");        mTabTitle.add("家庭");        mTabTitle.add("人生");        mTabTitle.add("职场");        for (int i = 0; i < mTabTitle.size(); i++) {            mPagers.add(new Pager(getActivity(), mTabTitle.get(i)));        }        MyPagerAdapter adapter = new MyPagerAdapter();        mViewPager.setAdapter(adapter);        indicator.setViewPager(mViewPager);//将指示器和viewpager绑定在一起        indicator.setOnPageChangeListener(new OnPageChangeListener() {            @Override            public void onPageSelected(int position) {                //加载数据                mPagers.get(position);            }            @Override            public void onPageScrolled(int arg0, float arg1, int arg2) {            }            @Override            public void onPageScrollStateChanged(int arg0) {            }        });        // 手动加载第一页数据        if(mPagers.size() > 0){            mPagers.get(0);        }    }    class MyPagerAdapter extends PagerAdapter{        @Override        public int getCount() {            return mPagers.size();        }        @Override        public CharSequence getPageTitle(int position) {            return mTabTitle.get(position);        }        @Override        public boolean isViewFromObject(View arg0, Object arg1) {            return arg0 == arg1;        }        @Override        public Object instantiateItem(ViewGroup container, int position) {            Pager pager = mPagers.get(position);            View view = pager.mRootView;            container.addView(view);            //  pager.initData();// 初始化数据, viewpager会默认加载下一个页面,            // 为了节省流量和性能,不要在此处调用初始化数据的方法            return view;        }        @Override        public void destroyItem(ViewGroup container, int position, Object object) {            container.removeView((View) object);        }    }}
  • 布局文件fragment_zhicuo.xml代码如下
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:orientation="vertical" >    <com.viewpagerindicator.TabPageIndicator        android:id="@+id/indicator"        android:layout_width="match_parent"        android:layout_height="wrap_content"/>    <View         android:layout_width="match_parent"        android:layout_height="1dp"        android:background="#E5E5E5"/>    <android.support.v4.view.ViewPager        android:id="@+id/vp_zhicuo_detail"        android:layout_width="match_parent"        android:layout_height="0dp"        android:layout_weight="1"/></LinearLayout>

其他代码我就不贴出了,如果有不懂的的可以点击下载源码
ViewPagerIndicatorLibrary下载
源码下载

0 0
原创粉丝点击