gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:40:57 25 4
gpt4 key购买 nike

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

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

是否可以用 ViewPager 实现这个?

最佳答案

这是我的做法。首先,我使用了 Android Displaying Bitmaps in Your UI tutorial 中的大量代码.

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

在包含 ViewPager 的 Activity 的 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
}

});

在包含 ViewPager 的 Activity 中运行幻灯片的 Runnable:

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

在显示图像的 fragment 中:

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

关于java - Android ViewPager - 添加带有淡入/淡出动画的幻灯片以在 View 之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10582334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com