Android基础:翻页控件Viewpager的使用方法,viewpager+fragment混合使用
来源:互联网 发布:2016网络播放器软件 编辑:程序博客网 时间:2024/06/05 06:08
viewpager的 使用分以下4步:
1, 在xml文件中添加:
<android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="wrap_content" android:layout_height="wrap_content" />
2,初始化控件并设置viewpager适配器:
mViewPager = (ViewPager) findViewById(R.id.viewPager); mViewPager.setAdapter(new MyViewPagerAdapter(getSupportFragmentManager(), mFragmentList));
3,设置启动时首页:
mViewPager.setCurrentItem(0);
4,设置viewpager的滑动监听事件:
mViewPager.addOnPageChangeListener(MyPageChangeListener);
我做的是viewpager加fragment,viewpager适配器的代码如下:
MyViewPagerAdapter.class
public class MyViewPagerAdapter extends FragmentPagerAdapter { private List<Fragment> mFragmentList = new ArrayList<>(); public MyViewPagerAdapter(FragmentManager fm,List<Fragment> mFragmentList) { super(fm); this.mFragmentList = mFragmentList; } @Override public Fragment getItem(int position) { return mFragmentList.get(position); } @Override public int getCount() { return mFragmentList.size(); }}
viewpager滑动监听 的事件代码如下:
private ViewPager.OnPageChangeListener MyPageChangeListener = new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { mViewPager.setCurrentItem(position); //当前页的标签颜色改变 for (int i = 0;i < mViewList.size();i++){ if (i==position){ mViewList.get(i).setSelected(true); }else { mViewList.get(i).setSelected(false); } } } @Override public void onPageScrollStateChanged(int state) { } };
改变字体颜色用到了selector,文件如下:
yellow_text_selector.xml
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="true" android:color="#ffff2d21"/> <item android:color="#020202"/></selector>
MainActivity部分代码如下:
...... mOne = (TextView) findViewById(R.id.one); mTwo = (TextView) findViewById(R.id.two); mViewList.add(mOne); mViewList.add(mTwo); mViewList.get(0).setSelected(true); mFragmentList.add(firstFragment); mFragmentList.add(secondFragment); mViewPager = (ViewPager) findViewById(R.id.viewPager); mViewPager.setAdapter(new MyViewPagerAdapter(getSupportFragmentManager(), mFragmentList)); mViewPager.setCurrentItem(0); mViewPager.addOnPageChangeListener(MyPageChangeListener);
至于fragment代码,在博主的上一篇博客里已经贴出来了,有需要的可以看下。。。
很简单的一个demo,在此基础上掌握了viewpager的基本用法,可以很灵活的去设置各种特效,demo运行效果如下:
注:所涉及到的fragment导入的均是v4包下的,而且MAinActivity继承自fragmentActivity
右滑时fragment改变,标签颜色改变
2 0
- Android基础:翻页控件Viewpager的使用方法,viewpager+fragment混合使用
- ViewPager和Fragment的混合使用
- Android ViewPager + Fragment的使用
- Android ViewPager+Fragment的使用
- ViewPager添加圆点,循环翻页。fragment的使用
- Android ViewPager+Fragment实现首页滑动翻页
- Android ViewPager控件的使用
- ViewPager+Fragment的使用
- ViewPager+Fragment的使用
- ViewPager+Fragment的使用
- android 控件 翻页 ViewPager TabLayout RecyclerView
- android 控件 翻页 ViewPager ViewFlow ViewFlipper
- 0906Android基础ViewPager+Fragment
- android基础---ViewPager与fragment
- Android中ViewPager+Fragment的基本使用
- Android中Fragment+ViewPager的配合使用
- Android中ViewPager+Fragment的基本使用
- Android:Fragment 与 ViewPager的配合使用
- 游戏行业专业术语
- UEditor设置上传图片值允许网络图片和本地图片的方式
- Android—ListView Item 展开动画效果
- 【Codeforces Round 335 (Div 2) A】【水题】Magic Spheres 三种类型物品兑换比例2:1.cpp
- Oracle数据库学习<四>
- Android基础:翻页控件Viewpager的使用方法,viewpager+fragment混合使用
- 设计模式之命令模式
- Tomcat和Apache的关系
- 【Codeforces Round 335 (Div 2) B】【模拟】Testing Robots 机器人逐步走 走到矿场就爆炸的最多行走步数
- 在图片上添加菊花
- animation——translation的实例
- Android学习摘记——简单的自定义View(自绘控件)
- linux打包压缩命令汇总
- 华为OJ中级题-汽水瓶