您的位置:首页 > 移动开发 > Android开发

activity从底部弹出动画

2016-08-02 11:33 281 查看
要实现activity从底部弹出的动画,一般参考这篇博文就能实现:

http://blog.csdn.net/spy19881201/article/details/5861193

但是我的需要还有点特殊,同一个activity,在正常情况下是按系统默认的方式打开,但在特殊情况下(收到通知后点击打开该页面)是从底部弹出的,所以就不能在xml文件中写死theme属性,如果用java代码实现也有问题,“如果你打算在程序代码中来加载主界面的主题,那么需要注意主题当中不能包括任何系统启动这个Activity所使用的动画,这些动画将在程序启动前显示。”,由于我们使用的是启动动画,所以貌似这个方法也不行。

既然以上办法不行,只有想其他的山寨解决方案了,使用一个中转的activity,用这个中转activity去启动我们要打开的activity的时候加载底部弹出动画,注意由于我是在从通知栏打开该activity,所以不能直接加载底部弹出动画,需要一个中转。

中转activity的代码:

public class TransAvtivity extends BaseActivity{

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

Intent intent = new Intent(this, TargetActivty.class);
startActivity(intent);
}

@Override
public void startActivity(Intent intent) {
super.startActivity(intent);
overridePendingTransition(R.anim.slide_bottom_in, R.anim.slide_bottom_out);
}

@Override
public void startActivityForResult(Intent intent, int requestCode, Bundle options) {
super.startActivityForResult(intent, requestCode, options);
overridePendingTransition(R.anim.slide_bottom_in, R.anim.slide_bottom_out);
}

@Override
public void finish() {
super.finish();
overridePendingTransition(R.anim.slide_bottom_in, R.anim.slide_bottom_out);
}

}
动画属性文件:

slide_bottom_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="200"
android:fromYDelta="100.0%"
android:toYDelta="0.0%" />
</set>
slide_bottom_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="200"
android:fromYDelta="0.0%"
android:toYDelta="100.0%" />
</set>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 底部 弹出