遇到这种转变的一些问题。这是唯一不起作用的过渡。在我的应用程序的主屏幕上,操作栏中有一个设置图标。单击时,设置活动将滑动到顶部(在主屏幕上,主屏幕活动将保持不变)。这很好。
在设置活动中,操作栏中有一个接受图标。单击时,我希望设置活动滑到底部(向下并显示主要活动,再次,不滑动)。目前,当我单击“接受”图标时,不会发生任何转换。它只是揭示了主要活动,没有任何转变。这是我到目前为止的代码:
stay.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="310"
android:fromYDelta="0%p"
android:toYDelta="0%p" />
</set>
slide_out_top.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromYDelta="100%"
android:toYDelta="0%" />
</set>
slide_in_top.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromYDelta="100%"
android:toYDelta="0%" />
</set>
任何帮助将不胜感激
答案 0 :(得分:2)
以下内容适用于我,并且与您描述的行为相同。 主要活动保持在“设置”活动下方,而“设置活动”在创建时从下到上滑动。
反之亦然。完成后,SettingsActivity向下滑动(显示下面的MainActivity)
no_change.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="700"
android:fromYDelta="0"
android:toYDelta="0" />
<alpha
android:duration="700"
android:fromAlpha="1.0"
android:toAlpha="1.0" />
</set>
push_up.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="700"
android:fromYDelta="100%p"
android:toYDelta="0" />
<alpha
android:duration="700"
android:fromAlpha="1.0"
android:toAlpha="1.0" />
</set>
push_down.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="700"
android:fromYDelta="0"
android:toYDelta="100%p" />
<alpha
android:duration="700"
android:fromAlpha="1.0"
android:toAlpha="1.0" />
</set>
MainActivity.java
//somewhere in your code where the Settings activity is started
MainActivity.this.startActivity( new Intent( MainActivity.this, SettingsActivity.class ) );
overridePendingTransition( R.anim.push_up, R.anim.no_change );
SettingsActivity.java
// somewhere in your code where the Settings Activity is finished
finish();
overridePendingTransition( R.anim.no_change, R.anim.push_down );