overridePendingTransition 需要 2 个动画并对整个屏幕进行动画处理。
我将如何在为 2 个单独视图设置动画的 2 个活动之间转换?
基本上,当我按下按钮并在其打开时查看其后面的下一个活动时,我想打开一扇双门。
我可以轻松地将屏幕滑动到下一个屏幕:
overridePendingTransition(R.anim.transition_left_in, R.anim.transition_left_out);
我可以打开双门,但没有像这样的过渡:
public void loginOnClick(View view)
{
final RelativeLayout leftPanel = (RelativeLayout)findViewById(R.id.RelativeLayoutLeft);
final RelativeLayout rightPanel = (RelativeLayout)findViewById(R.id.RelativeLayoutRight);
Animation animLeft = new TranslateAnimation(1, 0, 1, -1, 1, 0, 1, 0);
animLeft.setDuration(1000);
animLeft.setFillAfter(true);
animLeft.setAnimationListener(new Animation.AnimationListener()
{
@Override public void onAnimationStart(Animation animation)
{
}
@Override public void onAnimationEnd(Animation animation)
{
leftPanel.setVisibility(View.GONE);
rightPanel.setVisibility(View.GONE);
}
@Override public void onAnimationRepeat(Animation animation)
{
}
});
Animation animRight = new TranslateAnimation(1, 0, 1, 1, 1, 0, 1, 0);
animRight.setDuration(1000);
animRight.setFillAfter(true);
leftPanel.startAnimation(animLeft);
rightPanel.startAnimation(animRight);
}
我知道我可以在动画之后更改活动,但我想在动画前一个活动时查看下一个活动。
我该怎么做?
任何帮助,将不胜感激。
编辑:
我发现最好的解决方法是include
在第一个活动 xml 中使用一个来包含第二个活动的上下文。(在将要打开的门后面)但这并不完全是我想要的,因为 UI 上的某些内容在onCreate()
第二种方法之后发生了变化。