如何从屏幕底部到顶部启动 android 应用程序(而不是 activity)?
How to launch an android app(not an activity) from the bottom of the screen to top?
我用过
overridePendingTransition()
已经,但它用于打开具有给定转换的 activity 而不是应用程序。
此外,它仅在您有意单击按钮时才有效,如果在 onCreate()
中使用 overridePendingTransition()
,它将无效
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Intent i = new Intent(Main2Activity.this,MainActivity.class);
startActivity(i);
overridePendingTransition(R.anim.slide_in_up,R.anim.slide_out_up);
}
在 setContentView 之前使用以下代码:
overridePendingTransition(R.anim.slide_in_from_bottom, R.anim.fade_out);
并在您的 finish() 中使用以下代码:
@Override
public void finish() {
super.finish();
overridePendingTransition(R.anim.fade_in, R.anim.slide_out_back_to_bottom);
}
并创建 anim 文件夹并放置这些文件:
slide_in_from_bottom:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:zAdjustment="top">
<translate
android:duration="400"
android:fromYDelta="100%p"
android:toYDelta="0%p"
>
</translate>
<alpha
android:fromAlpha="0.8"
android:toAlpha="1.0"
android:duration="400"
/>
</set>
slide_out_back_to_bottom:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:zAdjustment="top">
<translate
android:duration="400"
android:fromYDelta="0%p"
android:toYDelta="100%p"
>
</translate>
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.8"
android:duration="400"
/>
</set>
fade_in:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:zAdjustment="bottom">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="300"
/>
</set>
fade_out:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:zAdjustment="bottom">
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:duration="200"
/>
</set>
可以找到完整的实现 here。
我用过
overridePendingTransition()
已经,但它用于打开具有给定转换的 activity 而不是应用程序。
此外,它仅在您有意单击按钮时才有效,如果在 onCreate()
overridePendingTransition()
,它将无效
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Intent i = new Intent(Main2Activity.this,MainActivity.class);
startActivity(i);
overridePendingTransition(R.anim.slide_in_up,R.anim.slide_out_up);
}
在 setContentView 之前使用以下代码:
overridePendingTransition(R.anim.slide_in_from_bottom, R.anim.fade_out);
并在您的 finish() 中使用以下代码:
@Override
public void finish() {
super.finish();
overridePendingTransition(R.anim.fade_in, R.anim.slide_out_back_to_bottom);
}
并创建 anim 文件夹并放置这些文件:
slide_in_from_bottom:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:zAdjustment="top">
<translate
android:duration="400"
android:fromYDelta="100%p"
android:toYDelta="0%p"
>
</translate>
<alpha
android:fromAlpha="0.8"
android:toAlpha="1.0"
android:duration="400"
/>
</set>
slide_out_back_to_bottom:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:zAdjustment="top">
<translate
android:duration="400"
android:fromYDelta="0%p"
android:toYDelta="100%p"
>
</translate>
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.8"
android:duration="400"
/>
</set>
fade_in:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:zAdjustment="bottom">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="300"
/>
</set>
fade_out:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:zAdjustment="bottom">
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:duration="200"
/>
</set>
可以找到完整的实现 here。