Activity从屏幕底部滑出、滑入、处理黑色背景和状态栏
16lz
2021-01-25
1、首先先写两个动画,分别时进入和退出的动画。在res/anim下创建两个文件
进入动画entry.xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true"> <translate android:fromYDelta="100%p" android:toYDelta="0" android:duration="300" />set>
退出动画exit.xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true"> <translate android:fromYDelta="0" android:toYDelta="100%p" android:duration="300" />set>
扩展:
在这些属性里面还可以加上%和p,例如:
Android:toXDelta=”100%”,表示自身的100%,也就是从View自己的位置开始。
android:toXDelta=”80%p”,表示父层View的80%,是以它父层View为参照的。
2、页面跳转和退出逻辑
注意:
overridePendingTransition(R.anim.entry,0);这个方法一定要在startActivity之后去调用,否则没作用
//页面的跳转Intent intent = new Intent(MainActivity.this,Test1Activity.class);startActivity(intent);overridePendingTransition(R.anim.entry,0);
注意:
overridePendingTransition方法依然要在finish方法之后调用
public class Test1Activity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test1); }//重写finish方法 @Override public void finish() { super.finish(); overridePendingTransition(0,R.anim.exit); }}
进行到这里基本效果已经出来了,但是怎么看着怪怪的呢,当Activity要出来时之前的那个Activity看着都是黑的,还有那个ActionBar、状态栏都存在。
3、写一个style来处理这些吧
然后就完美了
更多相关文章
- Android(安卓)程序在系统中如何完成启动
- Android之ViewStub的简单使用
- Android(安卓)自定义 View 之使用 SurfaceView 实现动画
- Android通过应用程序创建快捷方式的方法
- android apk反编译到java源码的实现方法
- Android(安卓)文本滚动效果的几种实现方式(二)
- android Listview 与 Scrollview 共存的一个较优良的解决方法
- android源码解析(十七)-->Activity布局加载流程
- Android(安卓)Hook Activity 的几种姿势