Activity从屏幕底部滑出、滑入、处理黑色背景和状态栏
来源:互联网 发布:商业美工证 编辑:程序博客网 时间:2024/06/07 15:47
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来处理这些吧
<style name="ActivityEntryAnimation" parent="Theme.AppCompat.Light.NoActionBar"> <!-- 去除Activity顶部黑线 --> <item name="android:windowContentOverlay">@null</item> <!-- 系统状态栏背景设置透明 --> <item name="android:windowDrawsSystemBarBackgrounds" tools:targetApi="lollipop">@android:color/transparent</item> <!-- Activity背景 --> <item name="android:windowIsTranslucent">true</item> <item name="android:windowBackground">@android:color/transparent</item> <!-- 背景模糊 --> <!--<item name="android:backgroundDimEnabled">true</item>--> </style>
然后就完美了
1 0
- Activity从屏幕底部滑出、滑入、处理黑色背景和状态栏
- 从屏幕底部滑出Dialog
- 自定义Dialog从底部滑入,滑出。
- Animation 从手机屏幕底部上下滑入,滑出
- Android自定义Dialog样式,从屏幕底部滑出动画
- android Activity实现从底部弹出或滑出选择菜单或窗口
- android Activity实现从底部弹出或滑出选择菜单或窗口
- android Activity实现从底部弹出或滑出选择菜单或窗口
- android Activity实现从底部弹出或滑出选择菜单或窗口
- android Activity实现从底部弹出或滑出选择菜单或窗口
- android Activity实现从底部弹出或滑出选择菜单或窗口
- android Activity实现从底部弹出或滑出选择菜单或窗口
- Android总结笔记05:Activity的切换方式(从底部弹出,退出时从顶部滑出)
- 透明Activity从底部弹出,除去顶部黑线和系统状态栏
- Dialog底部滑出并横向占满屏幕
- 滑动菜单方案之二: Activity实现从底部弹出或滑出选择菜单或窗口
- Activity左边滑出,右边滑入的动画切换
- Activity左边滑出,右边滑入的动画切换
- 【并发】并发-不可变对象
- flask--cookie和session
- adb 命令删除系统应用
- linux 目录结构+常用命令+压缩命令+vim使用+及一些基础知识(非常好)
- CentOS 7 安装配置Redis
- Activity从屏幕底部滑出、滑入、处理黑色背景和状态栏
- java.lang.IllegalStateException native_dequeueOutputBuffer异常解决
- 关于 ioctl 的 FIONREAD 参数
- visual studio 添加头文件和库目录
- 高通 MSM8K bootloader 之二: SBL1
- Python入门
- 电脑更新后无法进入系统
- Webpack前端打包工具
- L2-014. 列车调度