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的代码:
slide_bottom_in.xml
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>
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories