我正在尝试新的 Android L API 的特定转换。我对“Fade”的最佳体验,但“Slide.RIGHT”的表现真的很奇怪......当屏幕飞入时,它首先将屏幕标题带到底部,然后标题跳到屏幕顶部,然后出现屏幕的其余部分......
我没有使用自定义过渡,只是使用基本过渡。我用于测试的屏幕只有几个 TextView、EditText 和按钮。但即使我将 Google ActivitySceneTransitionBasicSample 从自定义过渡更改为基本 Slide.RIGHT,它的行为方式也同样奇怪......
有人设法实现了良好的幻灯片转换吗?就我而言,我需要滑动完全不同的屏幕。没有我可以分享的元素。
我的代码是:
第一个 Activity :
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
Slide transitionEnter = new Slide();
transitionEnter.setSlideEdge(Gravity.RIGHT);
transitionEnter.setDuration(1000);
Window currentW = getWindow();
currentW.setEnterTransition(transitionEnter);
currentW.setExitTransition(transitionEnter);
getWindow().setAllowEnterTransitionOverlap(true);
getWindow().setAllowExitTransitionOverlap(true);
setContentView(R.layout.slide_test_view);
}
public void buttonLAction(View view){
Utils.startActivity(this, SecondSlideTestActivity.class);
}
第二个 Activity :
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
Slide transitionEnter = new Slide();
transitionEnter.setSlideEdge(Gravity.RIGHT);
transitionEnter.setDuration(1000);
Window currentW = getWindow();
currentW.setEnterTransition(transitionEnter);
currentW.setExitTransition(transitionEnter);
getWindow().setAllowEnterTransitionOverlap(true);
getWindow().setAllowExitTransitionOverlap(true);
setContentView(R.layout.second_slide_test_view);
}
最佳答案
只是一个小建议,虽然并不完美,但在我看来看起来更好:
使用不同的边缘进行进入和退出过渡,例如:
transitionEnter.setSlideEdge(Gravity.RIGHT);
transitionExit.setSlideEdge(Gravity.LEFT);
我这样做了,对我来说,看起来还不错。希望这有帮助!
关于android - 新 Android L API 中的幻灯片转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25207212/