Android - 在步骤之间使用动画实现向导的正确方法是什么

标签 android animation view android-activity wizard

我正在构建 Android 应用程序,需要像向导一样完成这些步骤。

当前结构:

目前我使用一个 Activity ,每个步骤都有单独的 views.xml,然后我使用 setContentView(activeStep) 来显示 Activity 步骤。

我在尝试在步骤之间制作动画时遇到了一些困难。我使用了以下代码:

LayoutInflater inflater = getLayoutInflater();
View view = inflater.inflate(activeStep, null, false);
view.startAnimation(AnimationUtils.loadAnimation(activity, R.anim.slide_in));
setContentView(view);

结果:第一个 View 消失了,新 View 动画化了,不是平滑的过渡。

我的目标是为两个 View 设置动画,一个滑出另一个滑入。

问题:是否可以用我当前的结构来完成(提醒:一个 Activity ,多个 View )还是我应该将每个步骤视为一个单独的 Activity ?

最佳答案

我想还有更多的方法可以通过动画实现步进,我是这样做的:

private static ViewAnimator viewAnimator;

 public void onCreate(Bundle savedInstanceState) {
        viewAnimator = new ViewAnimator(this);
        View step1 = View.inflate(activity, R.layout.step_1, null);
        View step2 = View.inflate(activity, R.layout.step_2, null);
        View step3 = View.inflate(activity, R.layout.step_3, null);
        viewAnimator.addView(step1);
        viewAnimator.addView(step2);
        viewAnimator.addView(step3);
        viewAnimator.setInAnimation(activity, R.anim.slide_in);
        viewAnimator.setOutAnimation(activity, R.anim.slide_out);
        setContentView(viewAnimator);
    }

然后单击我调用 viewAnimator.showNext()viewAnimator.showPrevious() 的按钮 ViewSwitcher 不适合我的目的,因为它一次只能容纳 2 个 View

关于Android - 在步骤之间使用动画实现向导的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8791879/

相关文章:

android - 在没有支持 API 的情况下做一个 Android 滑动抽屉

android - 如何实现抽屉打开时动画到后退按钮的抽屉导航按钮(汉堡包)

javascript - D3js "bars.enter().attr"不是一个函数

postgresql - 如何在 PostgreSQL 中查看 View 的 CREATE VIEW 代码?

iphone - 通过点击手势隐藏和显示导航栏

Android ViewAnimator/ViewFlipper/ViewSwitcher 和 setDisplayedChild 的硬编码值

android - 如何在 Tasker 的 HTTP Get 操作中将超时设置为零?

android - repo 同步失败,出现 "error: index-pack died of signal 9"

android - 应用程序 :dex DEBUG error in Android Studio

android - 在 android 中触摸屏幕时会发光吗?