gpt4 book ai didi

android - 新 Android L API 中的滑动过渡

转载 作者:搜寻专家 更新时间:2023-11-01 08:49:15 24 4
gpt4 key购买 nike

我正在尝试新的 Android L API 进行特定的转换。 “淡入淡出”是我最好的体验,但“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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com