ViewPager设置自定义切换动画
来源:互联网 发布:wps的数据有效性在哪 编辑:程序博客网 时间:2024/06/06 01:21
ViewPager在Fragment切换时有默认的动画效果,项目中可能会遇到需要添加更加炫的Fragment切换效果,ViewPager为我们提供了相对应的方法,我们只需要定义切换的动画即可。
第一步:初始化ViewPager,设置adapter
// Instantiate a ViewPager and a PagerAdapter.
mPagerAdapter= new ScreenSlidePagerAdapter(getSupportFragmentManager());
mPager.setAdapter(mPagerAdapter);
private classScreenSlidePagerAdapterextendsFragmentStatePagerAdapter {
publicScreenSlidePagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
publicFragment getItem(intposition) {
ViewPager_Fragment test =newViewPager_Fragment();
test.setPosition(position);
returntest;
}
@Override
public intgetCount() {
returnNUM_PAGES;
}
}
第二步:设置自定义动画类
mPager.setPageTransformer(true,newZoomOutPageTransformer());
public classZoomOutPageTransformerimplementsViewPager.PageTransformer {
private static final floatMIN_SCALE= 0.85f;
private static final floatMIN_ALPHA= 0.5f;
public voidtransformPage(View view,floatposition) {
intpageWidth = view.getWidth();
intpageHeight = view.getHeight();
if(position < -1) {// [-Infinity,-1)
// This page is way off-screen to the left.
view.setAlpha(0);
} else if(position <= 1) {// [-1,1]
// Modify the default slide transition to shrink the page as well
floatscaleFactor = Math.max(MIN_SCALE,1 - Math.abs(position));
floatvertMargin = pageHeight * (1- scaleFactor) / 2;
floathorzMargin = pageWidth * (1- scaleFactor) / 2;
if(position < 0) {
view.setTranslationX(horzMargin - vertMargin /2);
} else{
view.setTranslationX(-horzMargin + vertMargin /2);
}
// Scale the page down (between MIN_SCALE and 1)
view.setScaleX(scaleFactor);
view.setScaleY(scaleFactor);
// Fade the page relative to its size.
view.setAlpha(MIN_ALPHA+
(scaleFactor -MIN_SCALE) /
(1- MIN_SCALE) * (1- MIN_ALPHA));
} else{ // (1,+Infinity]
// This page is way off-screen to the right.
view.setAlpha(0);
}
}
}
- ViewPager设置自定义切换动画
- ViewPager自定义切换动画
- 自定义ViewPager切换动画
- 自定义viewpager切换动画
- ViewPager设置切换动画
- Android --自定义ViewPager切换动画
- 千变万化的ViewPager切换动画(二、自定义切换动画)
- 自定义ViewPager的切换动画ScalePageTransformer
- Android 给ViewPager设置切换动画
- 为viewPager设置切换动画效果
- 给ViewPager 切换设置动画效果
- 设置ViewPager的切换动画时间
- ViewPager设置切换动画不可用
- Android为ViewPager增加切换动画——自定义ViewPager
- Android为ViewPager增加切换动画——自定义ViewPager
- 自定义viewpager的切换动画(旋转动画)
- 千变万化的ViewPager切换动画(一、简单的设置动画)
- 自定义view——viewpager切换下面的点点动画
- HihoCoder
- Tinker 常见问题
- @RequestBody 请求实体注解
- A
- Web报表系统葡萄城报表:财务报表分析
- ViewPager设置自定义切换动画
- CString与string、char*的区别和转换
- Web报表系统葡萄城报表:数据展示
- Android自定义属性:attr format取值类型
- Spring Boot创建一个可以部署的war文件
- 手把手教你玩转SOCKET模型:完成端口(Completion Port)详解
- 构建高并发高可用的平台架构实践
- 分布式事务、基于Best Efforts 1PC模式的事务
- Visual Studio——多字节编码与Unicode码