Android ViewPager+Fragment 实现画廊效果(一屏多Fragment)
16lz
2021-01-23
参照链接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 Animation动画效果基础
- Android进阶:实现android系统自带查看照片动画效果 类似Gallery手
- Android 滑动效果进阶篇(六)—— 倒影效果
- 三种方式实现自定义圆形页面加载中效果的进度条
- android布局时,左侧宽度固定而右侧textview高度变化,怎么9png实现
- Android ListView项收缩效果