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
- ViewPagerIndicator简单用法
- Android-ViewPagerIndicator简单集成
- Android-ViewPagerIndicator简单集成
- ViewPagerIndicator的简单实用
- Android-ViewPagerIndicator简单集成
- 自定义简单的ViewPagerIndicator控件
- 自定义一个简单的viewpagerIndicator
- ViewPagerIndicator
- ViewPagerIndicator
- ViewPagerIndicator
- ViewPagerIndicator
- ViewPagerIndicator
- ViewPagerIndicator
- ViewPagerIndicator
- viewpagerindicator
- viewpagerindicator
- ViewPagerIndicator
- ViewPagerIndicator
- 安徽大学大一高数第三章答案
- 看到这些现象我们就应该考虑将其重构(一)
- C#动态调用C++编写的DLL函数
- B2B e-commerce search with Solr – product assortment and prices
- centos bash的切换
- ViewPagerIndicator简单用法
- 网络安全中的机器学习5大误解,我知道三个
- 一个工具就够了?原型设计没那么简单!
- tcpreplay
- BP神经网络介绍
- 从零开始制作rootfs
- iOS 中 AFNetworking HTTPS 的使用
- Qt排序qSort使用方法
- 初试constraintLayout