Android ViewPager+Fragment 实现画廊效果(一屏多Fragment)_第1张图片

参照链接http://www.trinea.cn/android/viewpager%E5%AE%9E%E7%8E%B0%E7%94%BB%E5%BB%8A%E4%B8%80%E5%B1%8F%E5%A4%9A%E4%B8%AAfragment%E6%95%88%E6%9E%9C/comment-page-1/

1.在ViewPager与其父布局设置属性android:clicpChildren= "false" 不限制子View在父View范围内

<LinearLayout        android:id="@+id/course_main_linearlayout"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:clipChildren="false"        android:gravity="center" >        <android.support.v4.view.ViewPager            android:id="@+id/viewPager"            android:layout_width="300dp"            android:layout_height="wrap_content"            android:clipChildren="false" />    </LinearLayout>
这里注意一点,ViewPager的宽度不能设置成父类容器宽度,否则多屏的效果看不到,楼主之前犯了这么一个错误,找了半天BUG..

2.在代码中设置

mViewPager.setOffscreenPageLimit(mViewList.size());mViewPager.setPageMargin(20);mViewPager.setOnPageChangeListener(new MyOnPageChangeListener());

public class MyOnPageChangeListener implements OnPageChangeListener {@Overridepublic void onPageScrolled(int position, float positionOffset,int positionOffsetPixels) {if (mLayoutLinearLayout != null) {mLayoutLinearLayout.invalidate();}}@Overridepublic void onPageScrollStateChanged(int arg0) {}@Overridepublic void onPageSelected(int arg0) {}}

setPageMargin表示设置Fragment之间的间距

setOffscreenPageLimit表示设置缓存,这样可以看到后面的Fragment

这里楼主做了个小测试 把setOffscreenPageLimit设置成1的话 在第一个Fragment可以看到后面的Fragment,而在第二个Fragment则无法看到后面的Fragment了,这里建议设置成list中的size

Android ViewPager+Fragment 实现画廊效果(一屏多Fragment)_第2张图片

更多相关文章

  1. android Animation动画效果基础
  2. Android进阶:实现android系统自带查看照片动画效果 类似Gallery手
  3. Android 滑动效果进阶篇(六)—— 倒影效果
  4. 三种方式实现自定义圆形页面加载中效果的进度条
  5. android布局时,左侧宽度固定而右侧textview高度变化,怎么9png实现
  6. Android ListView项收缩效果

随机推荐

  1. 谷歌助力,快速实现 Java 应用容器化
  2. Java 12 正式发布
  3. 探寻 Redis 内存诡异增长的元凶
  4. npm 和 yarn 你选哪个?[每日前端夜话0x100
  5. 人人都是 API 设计者:我对 RESTful API、G
  6. 探寻 Redis 超时元凶的全过程剖析
  7. 漫谈设计模式在 Spring 框架中的良好实践
  8. 分布式锁不是控制并发幂等的方式
  9. 福利时刻 | 盖楼送《高可用可伸缩微服务
  10. Flyway 助力数据库脚本自动化管理攻略