android-如何为活动过渡的各个视图设置动画?
作者:互联网
切换活动时如何在单个视图上触发动画?
即如果用户单击按钮转到下一页,我希望我的一些视图从屏幕上飞出,并使背景淡入淡出进入下一个屏幕,而不是将整个屏幕动画化为一块.
这可能吗?如果是这样,应该怎么做? (我使用的是最新的API 4.1,并且不必向后兼容)
编辑:目前,通过在onResume()中调用它来制作过渡动画效果很好,但是当我按回去时,活动切换的速度比在onPause()中启动的任何动画都要快,所以我认为这是一种更好的方法/位置去做这个.
解决方法:
Overriding onResume() works fine, but onPause/onStop don’t wait for
the animation to complete before moving to the next screen.
什么事件开始了ex.单击按钮将需要在调用启动活动之前启动动画.
button.setOnClickListener(new ViewOnClickListener() {
@Override
void onClick(... {
// start animations
// wait till they are finished
// start 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-layout,android-animation,android-view,android 来源: https://codeday.me/bug/20191101/1980112.html