2014-04-23 23 views
5

Görüntü çağrı sayfa görünümünde gezinmek için animasyon (dışarı-in-out, soluk-out, 3d vs) koymak istiyorum. benim kodum aşağıdaki.Android Sayfa düzenleme içinde sayfa kaydırma Görüntü kaydırma sayfa

Benim birinci sınıf:

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() { 

} 

    } 

İkinci dosyası:

 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; 
    } 
burada

Üçüncü dosyası: Ben o zaman ((ViewPagerMainActivity)getActivity()).pager.setCurrentItem(0); zaman çağrı cihazı kaydırma animasyon koymak veya aramak istediğiniz

 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 

} 

Çağrı cihazı bir sonraki sayfa görüntüsünü ekrana getirirken, yakınlaştırma gibi animasyonlar kullanın. Bunu nasıl yapmalı?

cevap

5

Sen ViewPager için PagerTransformer ekleyebilirsiniz:

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

Size yardımcı olan aşağıdaki bağlantılardan gidebilirsiniz:

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

+0

http://developer.android.com/training/animation/screen-slide.html#pagetransformer için o kadar yararlı çok teşekkür ederim Benim tarafımdan +10 oy kullan .. –

İlgili konular