Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android ViewPager-添加带有淡入/淡出动画的幻灯片以在视图之间切换_Java_Android_Touch_Slideshow_Android Viewpager - Fatal编程技术网

Java Android ViewPager-添加带有淡入/淡出动画的幻灯片以在视图之间切换

Java Android ViewPager-添加带有淡入/淡出动画的幻灯片以在视图之间切换,java,android,touch,slideshow,android-viewpager,Java,Android,Touch,Slideshow,Android Viewpager,我使用ViewPager实现自己的图像库。视图由ImageViews组成。用户通常可以使用手势在图像之间导航(如ViewPager) 我想添加的是幻灯片功能。当用户从菜单中选择“幻灯片放映”选项时,我希望能够启动ViewPager项目的动画-理想情况下,动画将是图像/幻灯片之间的淡入/淡出效果 是否可以使用ViewPager实现此功能?以下是我的操作方法。首先,我使用了大量的源代码 然后,我添加了以下调整: 在包含ViewPager的活动的OnCreate中: mPager.setOnPageC

我使用
ViewPager
实现自己的图像库。视图由
ImageView
s组成。用户通常可以使用手势在图像之间导航(如
ViewPager

我想添加的是幻灯片功能。当用户从菜单中选择“幻灯片放映”选项时,我希望能够启动
ViewPager
项目的动画-理想情况下,动画将是图像/幻灯片之间的淡入/淡出效果


是否可以使用
ViewPager
实现此功能?

以下是我的操作方法。首先,我使用了大量的源代码

然后,我添加了以下调整:

在包含ViewPager的活动的OnCreate中:

mPager.setOnPageChangeListener(new OnPageChangeListener() {

        @Override
        public void onPageSelected(int arg0) {

            PhotoViewerFragment currentFragment = mAdapter
                    .getFragment(arg0);
            if (currentFragment != null) {

                if (mRunningSlideshow) {
                    currentFragment.addImageTransition();
                }

            }

        }

        @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
        }

    });
   private Runnable runSlideshow = new Runnable() {
        public void run() {
            // Second parameter of false turns ViewPager scroll animation off
            mPager.setCurrentItem(mPager.getCurrentItem() + 1, false);
            mSlideshowHandler.postDelayed(runSlideshow,
                SLIDESHOW_IMAGE_DURATION);
    }
};
Runnable,在包含ViewPager的活动中运行幻灯片放映:

mPager.setOnPageChangeListener(new OnPageChangeListener() {

        @Override
        public void onPageSelected(int arg0) {

            PhotoViewerFragment currentFragment = mAdapter
                    .getFragment(arg0);
            if (currentFragment != null) {

                if (mRunningSlideshow) {
                    currentFragment.addImageTransition();
                }

            }

        }

        @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
        }

    });
   private Runnable runSlideshow = new Runnable() {
        public void run() {
            // Second parameter of false turns ViewPager scroll animation off
            mPager.setCurrentItem(mPager.getCurrentItem() + 1, false);
            mSlideshowHandler.postDelayed(runSlideshow,
                SLIDESHOW_IMAGE_DURATION);
    }
};
在显示图像的片段中:

private static final int FADE_IN_TIME = 200;

/**
 * Adds fade-in transition when in slideshow mode. Called from PhotoViewerActivity.
 */
public void addImageTransition() {
    // Transition drawable with a transparent drawable and the final bitmap
    final TransitionDrawable td = new TransitionDrawable(new Drawable[] {
            new ColorDrawable(android.R.color.transparent),
            mImageView.getDrawable() });

    mImageView.setImageDrawable(td);
    td.startTransition(FADE_IN_TIME);
}

我也在努力实现这一点。什么是mRunningSlideshow?我一直得到一个空指针。我正在创建片段之前添加转换。mRunningSlideshow是一个布尔值,用于跟踪用户是否选择了幻灯片放映模式(他们也可以选择手动浏览照片)。对空指针不确定,抱歉。。。我甚至不再处理这个项目,所以没有运行的代码设置。