Android使用片段在视图寻呼机的页面滚动中放置animation

我想在视图寻呼机中滚动页面时放置animation(放大输入,淡入淡出,3d等)。 我的代码如下。

我的第一堂课:

public class ViewPagerMainActivity extends FragmentActivity implements OnClickListener, OnPageChangeListener { // all variable declare here @SuppressLint("NewApi") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD, WindowManager.LayoutParams.FLAG_FULLSCREEN | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD ); setTheme(android.R.style.Theme_Light_NoTitleBar); setContentView(R.layout.view_pager_main); // other code here } private class MyPagerAdapter extends FragmentPagerAdapter { public MyPagerAdapter( android.support.v4.app.FragmentManager fragmentManager) { super(fragmentManager); } @Override public Fragment getItem(int pos) { switch (pos) { case 0: return FirstFragment.newInstance(""); case 1: return SecondFragment.newInstance(""); default: return SecondFragment.newInstance("Default"); } } @Override public int getCount() { return 2; // return no of fragment created by us } } @Override public void onClick(View v) { } @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub } @Override public void onPageSelected(int arg0) { // TODO Auto-generated method stub } @Override public void onBackPressed() { } } 

第二档:

  public class FirstFragment extends Fragment implements OnTouchListener { // all variable decalre here @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { getActivity().setTheme(android.R.style.Theme_Light_NoTitleBar); v = inflater.inflate(R.layout.sliding_lock_pager, container, false); // other code here return v; } public static FirstFragment newInstance(String text) { FirstFragment f = new FirstFragment(); Bundle b = new Bundle(); b.putString("msg", text); f.setArguments(b); return f; } @Override public boolean onTouch(View v, MotionEvent event) { return false; } 

第三个文件:

  public class SecondFragment extends Fragment implements OnClickListener { // all varible decalare here @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { getActivity().setTheme(android.R.style.Theme_Light_NoTitleBar); View v = inflater.inflate(R.layout.password, container, false); // other code here // this method move to main pager txtBack.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { ((ViewPagerMainActivity)getActivity()).pager.setCurrentItem(0); } }); return v; } public static SecondFragment newInstance(String text) { SecondFragment f = new SecondFragment(); Bundle b = new Bundle(); b.putString("msg", text); f.setArguments(b); return f; } @Override public void onClick(View v) { // TODO Auto-generated method stub } 

我想在寻呼机滚动或调用时放置animation((ViewPagerMainActivity)getActivity()).pager.setCurrentItem(0); 当寻呼机滚动下一页显示animation像zoomin-out时,请任何人帮助我如何做到这一点。

您可以将PagerTransformer附加到ViewPager:

 mViewPager.setPageTransformer(false, new ViewPager.PageTransformer() { @Override public void transformPage(View page, float position) { // do transformation here } }); 

您可以通过以下链接来帮助您:

http://developer.android.com/training/animation/screen-slide.html#pagetransformer

http://andraskindler.com/blog/2013/create-viewpager-transitions-a-pagertransformer-example/