浅析Fragment和ViewPager切换页面方法
2016-08-09 14:44
274 查看
Fragment和Viewpager都可以用于在一个Activity下切换页面,并且 Fragment和Viewpager经常搭配使用。
经常会有下图所示的需要
两个按钮对应两个页面,点击不同的条目显示不同的内容,那么在这种情况下我们如何选择使用Fragment还是ViewPager呢?
我们先来分析下怎么分别实现这种需求。
1.ViewPager
为ViewPager设置Adapter,根据position加载不同的布局,设置不同的数据。点击不同的按钮时设置对应的ViewPager页码。
2.Fragment
使用FragmentManager,点击不同的按钮时替换成不同的Fragment
毫无疑问,使用Fragment使得代码更清晰,各自的页面的布局和数据由各自的Fragment来管理。ViewPager需要根据判断position来加载不同的布局,设置不同的数据,使得代码比较混乱。但凡这类页面都是请求网络数据,但Fragment在不做处理时每次替换都会重新加载数据,耗费流量,并且用户加载过的页面切换回来还会加载,用户体验不好,当然是可以处理的,处理的方法请自行Google或者百度。ViewPager自身就带有缓存处理,两个页面的情况下不会有页面被销毁,流畅度更高,并且可以处理切换时的动画,在这方面ViewPager更胜一筹。
所以对于这种简单的我更倾向于使用ViewPager来实现,但是如果展示的东西较多,需要处理的逻辑较复杂,那么我建议使用Fragment来实现。
经常会有下图所示的需要
两个按钮对应两个页面,点击不同的条目显示不同的内容,那么在这种情况下我们如何选择使用Fragment还是ViewPager呢?
我们先来分析下怎么分别实现这种需求。
1.ViewPager
为ViewPager设置Adapter,根据position加载不同的布局,设置不同的数据。点击不同的按钮时设置对应的ViewPager页码。
2.Fragment
使用FragmentManager,点击不同的按钮时替换成不同的Fragment
毫无疑问,使用Fragment使得代码更清晰,各自的页面的布局和数据由各自的Fragment来管理。ViewPager需要根据判断position来加载不同的布局,设置不同的数据,使得代码比较混乱。但凡这类页面都是请求网络数据,但Fragment在不做处理时每次替换都会重新加载数据,耗费流量,并且用户加载过的页面切换回来还会加载,用户体验不好,当然是可以处理的,处理的方法请自行Google或者百度。ViewPager自身就带有缓存处理,两个页面的情况下不会有页面被销毁,流畅度更高,并且可以处理切换时的动画,在这方面ViewPager更胜一筹。
所以对于这种简单的我更倾向于使用ViewPager来实现,但是如果展示的东西较多,需要处理的逻辑较复杂,那么我建议使用Fragment来实现。
相关文章推荐
- 【控件篇】ViewPager+FragmentStatePagerAdapter 页面切换案例详解
- Fragment+ViewPager+RadioGroup实现的页面简单切换
- Fragment实例精讲——底部导航栏+ViewPager滑动切换页面
- ViewPager、Fragment、RadioButton实现顶部切换Tab页面
- Viewpager+Fragment+RecyclerView 在隔页点击切换数数据为空白的解决方法
- android viewPager 切换页面时防止fragment重新加载
- Android——Fragment实例精讲——底部导航栏+ViewPager滑动切换页面
- ViewPager中Fragment切换过程不被销毁的方法
- android viewPager 切换页面时防止fragment重新加载
- Android ViewPager加Fragment实现滑动或者点击页面切换
- ActionBarSherlock与Fragment及ViewPager结合实现滑动切换页面
- Android之ActionBar、Tabs、Fragment、ViewPager实现标签页切换并缓存页面
- fragment+ViewPager的使用(页面的滑动切换)
- viewpager滑动fragment点击textview切换页面线条滑动效果
- Android 利用ViewPager实现底部圆点导航左右滑动效果以及Fragment页面切换
- Android编程实现ViewPager多页面滑动切换及动画效果的方法
- Fragment+viewpager切换滑动页面Demo
- Android之ActionBar、Tabs、Fragment、ViewPager实现标签页切换并缓存页面
- 底部导航栏实现页面的切换(三):Fragment + RadioGroup + ViewPager
- android viewPager 切换页面时防止fragment重新加载