从头学android_ViewPager的使用
来源:互联网 发布:sql distinct 效率 编辑:程序博客网 时间:2024/06/05 07:48
ViewPager可以实现类似于微信左右滑动切换到不同的选项卡的效果。
1.在布局文件中定义
<android.support.v4.view.ViewPager android:id="@+id/vp_main" android:layout_width="match_parent" android:layout_height="match_parent"></android.support.v4.view.ViewPager>
2.设置fragment
2.1创建多个fragment
应该继承android.support.v4.app.Fragment 或者 android.app.Fragment。作为viewPager要显示的内容
给每个fragment设置要显示的布局
当然前提是定义好布局文件了
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_conversation, null);}
2.2在viewPager所在的activity里,初始化viewPager。
viewPager = (ViewPager) findViewById(R.id.vp_main);
2.3准备要显示的fragment集合
conversationFragment = new ConversationFragment();groupFragment = new GroupFragment();searchFragment = new SearchFragment();fragments = new ArrayList<>();//已有 private ArrayList<Fragment> fragments;fragments.add(conversationFragment);fragments.add(groupFragment);fragments.add(searchFragment);
2.4创建adapter类
public class MainActivityViewPagerAdapter extends FragmentPagerAdapter { private ArrayList<Fragment> fragments; public MainActivityViewPagerAdapter(FragmentManager fm, ArrayList<Fragment> fragments) { super(fm); this.fragments = fragments; } @Override public Fragment getItem(int position) { return fragments.get(position); } @Override public int getCount() { return fragments.size(); }}
2.5给viewPager设置adapter
viewPager.setAdapter(new MainActivityViewPagerAdapter(getSupportFragmentManager(), fragments));
3 设置PageChange侦听
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { /**滑动的过程不断调用 position是前一个page的index*/ @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { //具体逻辑 } /**滑动完了调用 position是后一个page的index*/ @Override public void onPageSelected(int position) { //具体逻辑 } /**滑动状态改变调用*/ @Override public void onPageScrollStateChanged(int state) { }});
0 0
- 从头学android_ViewPager的使用
- 从头学android_ListView的使用
- 从头学android_alertDialog的使用
- 从头学android_LocationManager的使用
- Android_ViewPager左右切换当前的页面
- 出来混总要还的,从头学printf
- hibernate从头学,hibernate的配置
- 24、从头学Android之多媒体--使用MediaPlayer播放音频
- 25、从头学Android之多媒体--使用SoundPool播放音频
- 26、从头学Android之多媒体--使用MediaRecorder录制音频
- 27、从头学Android之多媒体--使用VideoView播放视频
- 从头学Android之多媒体--使用MediaPlayer播放音频
- 从头学Android之多媒体--使用MediaRecorder录制音频
- 24、从头学Android之多媒体--使用MediaPlayer播放音频
- 25、从头学Android之多媒体--使用SoundPool播放音频
- 26、从头学Android之多媒体--使用MediaRecorder录制音频
- 27、从头学Android之多媒体--使用VideoView播放视频
- 从头开始学SQL 入门(一)使用
- 2015 Multi-University Training Contest 3
- 剑指offer面试题39:二叉树深度以及判断平衡二叉树
- HDOJ 2141 Can you find it?
- js实例
- Google Guide:Test Your App (个人翻译,请多指教)
- 从头学android_ViewPager的使用
- Android中Parcelable接口用法
- OI生涯回忆录 && NOI2016游记
- [SCU4441] Necklace [2015 Sichuan Province Contest Final F]
- 【CodeForces】[448D]Multiplication Table
- C语言中的关键字
- 基于DWT-SVD数字水印的畅想
- scau_专题1训练总结
- JSP中<base href="<%=basePath%>">的作用