ViewPager使用PageTransformer的各种切换的效果

您所在的位置:网站首页 代码17171 ViewPager使用PageTransformer的各种切换的效果

ViewPager使用PageTransformer的各种切换的效果

2024-07-17 16:42| 来源: 网络整理| 查看: 265

在开发中ViewPager是经常用到的,自从Andriod3.0以后增加了动画的效果,让我们的App页面展示更加的生动,当然对于Viewpager来说,也增加了切换的动画。我们平时使用的是ViewPager的默认切换效果,ViewPager自带了一个setPageTransformer用于设置切换动画。先展示一下几种不同的ViewPager的切换效果图

            

样式很多,就不一一展示出来了,这里只是随机的展示出来了几种

下面我们就来看一下ViewPager怎么使用setPageTransformer,如图所示我们新建一个项目

我圈起来的地方就是各种动画的类,下面我们来看下主类的代码

package com.way.viewpager; import com.way.indicator.CirclePageIndicator; import com.way.transfor.ZoomOutTranformer; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.KeyEvent; import android.view.View; @SuppressWarnings("unused") public class MainActivity extends FragmentActivity { /** * 给ViewPager设置五页的展示页 */ private static final int NUM_PAGES = 5; private ViewPager mPager; //底部圆点的设置 private CirclePageIndicator mPageIndicator; private PagerAdapter mPagerAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化 mPager = (ViewPager) findViewById(R.id.pager); mPageIndicator = (CirclePageIndicator) findViewById(R.id.indicator); mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager()); mPager.setAdapter(mPagerAdapter); mPageIndicator.setViewPager(mPager); // 在这里可以随意选择com.way.transfor包里的任意一种动画效果 // mPager.setPageTransformer(true, new ZoomOutPageTransformer()); //mPager.setPageTransformer(true, new DepthPageTransformer()); mPager.setPageTransformer(true, new ZoomOutTranformer()); } // 先一页页的退换出切换过的ViewPager页面在退出 // @Override // public void onBackPressed() { // if (mPager.getCurrentItem() == 0) { // // super.onBackPressed(); // } else { // mPager.setCurrentItem(mPager.getCurrentItem() - 1); // } // } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { finish(); return true; } return super.onKeyDown(keyCode, event); } // 使用FragmentPagerAdapter设置页面 private class ScreenSlidePagerAdapter extends FragmentPagerAdapter { public ScreenSlidePagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return TestFragment.newInstance(position); } @Override public int getCount() { return NUM_PAGES; } } } 设置的方法很简单,只有一句代码 mpager.setPageTransformer( true,new XXX());你就可以给你的ViewPager设置各种切换的效果。

下面是本demo的下载地址,有需要的可以下载下来运行看看

http://download.csdn.net/detail/shihuiyun/9558556



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3