【发布时间】:2014-01-08 13:21:44
【问题描述】:
我无法弄清楚如何通过按一下按钮将活动滑入和滑出。我想要的是用户按下按钮然后屏幕滑动。我想要的方式是让第一个活动(带有按钮的活动)向左滑出,而新的第二个活动从右侧滑入。
使用下面的代码,当单击按钮时,当我希望第一个活动向左滑出时,它会向右滑出。然后当它完成滑动时,剩下的只是一瞬间黑屏,然后第二个活动只是出现并且没有滑入。
所以第一个活动滑出不正确的方向,下一个活动只是出现而不是滑动。我究竟做错了什么?我很难理解 XML 文件,所以听到的是下面所有内容的代码。
第一次活动
@Override
public void onCreate(Bundle savedInstanceState) {
playBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MainMenu.this, Levels.class);
startActivity(intent);
overridePendingTransition(R.anim.enter_from_right, R.anim.exit_out_left);
}
});
第二次活动
@Override
public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.levels);
overridePendingTransition(R.anim.enter_from_left, R.anim.exit_out_right);
所以我认为我的一些 XML 文件可能不正确。他们来了。
enter_from_left.xml
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="600"
android:fromXDelta="100%"
android:toXDelta="0%" >
</translate>
</set>
enter_from_right.xml
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="600"
android:fromXDelta="-100%"
android:toXDelta="0%" >
</translate>
</set>
exit_out_left.xml
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="600"
android:fromXDelta="0%"
android:toXDelta="-100%" >
</translate>
</set>
exit_out_right.xml
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="600"
android:fromXDelta="0%"
android:toXDelta="100%" >
</translate>
</set>
编辑
从第二个活动中删除overridePendingTransition() 使得第一个活动滑到左边,这就是我想要的。但是,当第一个活动滑开时,它仍然只是显示黑屏,而不是第二个活动从右侧滑入。
【问题讨论】:
-
你应该只需要覆盖一次动画,所以只有在推送新活动时。如果您从 onCreate 中删除覆盖,它应该可以工作
-
@panini 查看我的开篇文章的编辑。您帮助解决了一个问题。
-
我认为在您的 enter_from_right 动画中,您的 fromXDelta 应该是 100%,而不是 -100%
-
现在完美运行。请随意将此作为答案,以便我接受。
标签: java android android-activity transition