如何在垂直viewpager

时间:2016-01-07 10:51:34

标签: android android-viewpager scrollview

如何在VerticalViewPager中实现堆栈转换,这是我的代码,我已经实现了带有堆栈转换的VerticalViewPager,但问题是它逐渐消失,我想在刷页面时删除淡出。

 public class VerticalViewPager extends Activity  {

private static final float MIN_SCALE = 0.75f;
PagerAdapter adapter;
private static final float MIN_ALPHA = 0.75f;
private boolean a;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.verticalviewpager);

    final fr.castorflex.android.verticalviewpager.VerticalViewPager verticalViewPager = (fr.castorflex.android.verticalviewpager.VerticalViewPager) findViewById(R.id.verticalviewpager);


    adapter = new MyCustomAdapter(VerticalViewPager.this, SplashScreen.newsidArray, SplashScreen.newsdescArray, SplashScreen.newstitleArray,
            SplashScreen.newsimageArray, SplashScreen.newsdateArray, SplashScreen.newsauthorArray, SplashScreen.newsurlArray);
    verticalViewPager.setOffscreenPageLimit(1);
    verticalViewPager.setAdapter(adapter);

    verticalViewPager.setPageTransformer(false, new PageTransformer() {


        @Override
        public void transformPage(View view, float position) {
            int pageWidth = view.getWidth();
            int pageHeight = view.getHeight();

            if (position < -1) { // [-Infinity,-1)
                // This page is way off-screen to the left.
                view.setAlpha(0);

            } else if (position <= 0) { // [-1,0]

                view.setAlpha(1);

            } else if (position <= 1) { // (0,1]
                // Fade the page out.
                view.setAlpha(1F-position);
                view.setTranslationY((int) ((float) (pageHeight) * -position));


            } else { // (1,+Infinity]
                // This page is way off-screen to the right.
                view.setAlpha(0);
            }






        }
    });
    verticalViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        public void onPageScrollStateChanged(int state) {



        }

        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {


            int page = verticalViewPager.getCurrentItem();

            Log.e("page",String.valueOf(page));

            if((page+1)== MyCustomAdapter.nodata){
               // Toast.makeText(VerticalViewPager.this,"No News Available To Swipeup",500).show();

                final Toast toast = Toast.makeText(getApplicationContext(), "No News Available To Swipeup", Toast.LENGTH_SHORT);
                toast.show();

                Handler handler = new Handler();
                handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        toast.cancel();
                    }
                }, 500);
            }

        }

        public void onPageSelected(int position) {

            SplashScreen.myCustomPosition = position;


        }
    });

}


}

0 个答案:

没有答案