android - 如何为 Activity 转换的个人 View 设置动画?

标签 android android-layout android-animation android-view

切换 Activity 时如何在各个 View 上触发动画? IE。如果用户单击一个按钮转到下一页,我希望我的一些 View 飞出屏幕,并将背景淡入淡出到下一个屏幕,而不是将整个屏幕作为一个整体进行动画处理。

这可能吗?如果是这样,应该怎么做? (我使用的是最新的 API 4.1,它不必向后兼容)

编辑:目前,通过在 onResume() 中调用过渡动画可以正常工作,但是当我按回键时, Activity 切换的速度比在 onPause() 中启动的任何动画都快,所以我认为还有更好的方法这样做的方式/地点。

最佳答案

Overriding onResume() works fine, but onPause/onStop don't wait for the animation to complete before moving to the next screen.

事件开始的原因是什么。单击按钮需要在调用启动 Activity 之前启动动画。

button.setOnClickListener(new ViewOnClickListener() {

    @Override
    void onClick(... {

        // start animations
        // wait till they are finished
        // start activity
    }
});

由于启动新 Activity 的每个事件都将包含动画代码,因此我还建议将其移至某种辅助类中,以避免到处都是重复代码。例如。

button1.setOnClickListener(new ViewOnClickListener() {

    @Override
    void onClick(... {

        helper.AnimateViews(/* probably pass activity or context */); 

        // start activity
    }
});

button2.setOnClickListener(new ViewOnClickListener() {

    @Override
    void onClick(... {

        helper.animateViews(/* probably pass activity or context */); 

        // start activity
    }
});

public class ViewAnimiationHelper {

    public void animateViews(Activity activity) {

        // find all views if not found then don't animate them
        View view1 = activity.findViewById(R.id.view1);

        if(view1 != null) {

            // animate view
        }

        View view2 = activity.findViewById(R.id.view1);

        if(view2 != null) {

            // animate view
        }
    }
}

这都是 sudo java 代码,但希望足以让您理解。祝你好运!

关于android - 如何为 Activity 转换的个人 View 设置动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11941728/

相关文章:

android - 动画 RecyclerView 不工作

android - TransitionManager 没有动画颜色变化

android - Android 中的动画图像淡入淡出导致黑屏

java - 在 android 中后台工作未完成时的工作进度动画

android - 如何在 Android 上显示随机图像?

android - 使用android相对布局时缺少边框线

android - 使用 XML 中的重力或 Linear_gravity 在 LinearLayout 中左对齐图像

android - ConstraintLayout 的任何布局管理器?

java - 如何从 Android 中的任何 Activity 访问未存储在数据库中的数据?

android - 使用嵌套的 json 对象改造获取请求