先看下效果

背景

现在很多App设计会存在浏览模式,在没有登录情况下点击相关用户操作会跳转到登录页面LoginActivity,登录页面跳转常见的为从左向右,从下往上等视差效果,下面就来讲讲开启时从下往上跳转的视差如何来实现,网上有很多其他案例,有的是将Activity设置Dialog主题,本人不推荐这种,因为Dialog会涉及到屏幕透明主题这个属性,处理不好可能会出现问题

分析

抛开Activity的束缚,如何可以让布局从下往上弹出呢?

其实有很多方法都可以实现,

popwindow,Dialog,BottomSheetDialogFragment,

BottomSheetDialog等等,如果想实现用手向下滑动页面消失,

可以选择BottomSheetDialogFragment,BottomSheetDialog来实现,

当前登录页LoginActivity我是基于Activity实现的,

那是不是我们加个进入动画不就实现了吗?答案是可以的

1、overridependingtransition使用

说起动画,我们先看下overridependingtransition各个参数起到的作用
overridePendingTransition(int enterAnim, int exitAnim)
从参数我们直观看到enterAnim是针对将要进入的Activity,而exitAnim将要消失的Activity,如果设置0代表不启用动画

2、新建 bottom_in.xml(底部弹入动画)
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">    <translate        android:fromYDelta="100%p"        android:toYDelta="0"        android:duration="400"        />set>
3、新建 bottom_out.xml(底部退出动画)
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">    <translate        android:fromYDelta="25"        android:toYDelta="100%p"        android:duration="400"        />set>
4、LoginActivity实现动画效果
@Override    protected void onCreate(Bundle savedInstanceState) {        overridePendingTransition(R.anim.bottom_in,0);        super.onCreate(savedInstanceState);    }    @Override    public void finish() {        overridePendingTransition(0,R.anim.bottom_out);        super.finish();    }

运行完会发现,进入会出现黑屏效果,退出无动画效果!!!???
其实是因为我们给当前栈顶的Activity加了动画效果,而栈底无动画效果导致的这种现象
栈底Activity不需要有视差,那我们给栈底Activity加个默认禁止动画,看看会出现什么效果

5、新建bottom_silent(禁止动画)
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">    <translate        android:duration="500"        android:fromYDelta="0"        android:toYDelta="0" />set>
6、LoginActivity实现动画效果
@Override    protected void onCreate(Bundle savedInstanceState) {        overridePendingTransition(R.anim.bottom_in,R.anim.bottom_silent);        super.onCreate(savedInstanceState);    }    @Override    public void finish() {        super.finish();        overridePendingTransition(R.anim.bottom_silent,R.anim.bottom_out);    }

运行完效果如上述gif图片,注:如果禁止动画时间小于进出动画时间,还是会出现黑屏效果,大家注意一下

到这里就结束啦.

android r 新建分区_Android实现从下往上弹出视差效果(Activity)相关推荐

  1. onsenui实现从下往上弹出效果的实现

    在做移动端H5的问题,我查找了所有的onsenui从下往上弹出框自动的控件,但都必须弹出框是另一个ons-page, 但这样对我的业务是一个弊端,必须在一个ons-page里实现才能达到我想要的效果, ...

  2. android 蒙版图片带拖动_Android实现蒙版弹出框效果

    本文实例为大家分享了android蒙版弹出框效果的具体代码,供大家参考,具体内容如下 自定义 package cn.lxsdb.yyd.app.dialog; import cn.lxsdb.yyd. ...

  3. Android DialogFragment实现底部弹出菜单效果

    底部弹出式菜单, 可以使用PopupWindow来做,也可以用自定义View来做.当然这里采用DialogFragment来做. DialogFragment是3.0之后引入的,使用DialogFra ...

  4. android+底部评论框,Android 之BottomsheetDialogFragment仿抖音评论底部弹出对话框效果(实例代码)...

    实现的效果图: 自定义Fragment继承BottomSheetDialogFragment 重写它的三个方法: onCreateDialog() onCreateView() onStart() 他 ...

  5. 三种方法 彻底解决win10 cmd下运行python弹出windows应用商店

    在已经通过python官网安装完成python后,命令行输入python,会弹出微软应用商店. 方法一:下移微软商店的环境变量 首先可以将环境变量中的 C:\Users\Marvin\AppData\ ...

  6. 解决win10 cmd下运行python弹出windows应用商店问题

    解决win10 cmd下运行python弹出windows应用商店问题 问题描述: ​ win10系统下,环境变量已配置,然而在cmd下或powershell下运行python,均弹出应用商店,不能正 ...

  7. win10系统cmd模式下输入python弹出Windows应用商店 解决方法

    win10系统cmd模式下输入python弹出Windows应用商店 解决方法 解决方法1: 打开环境变量设置[此电脑->属性->高级系统设置->环境变量] 在变量Path中发现有% ...

  8. Android调用系统群发短信,vivo部分手机弹出“无效的地址”解决方法

    Android调用系统群发短信,vivo部分手机弹出"无效的地址"解决方法 第一次写文章,来试试水 之前项目中有一个需求是获取通讯录联系人信息,并展示出来,然后可以选择一个或者多个 ...

  9. android 自定义输入法布局,Android 解决沉浸式状态栏下,输入法弹出,布局不会自动调整的BUG...

    一.前言 在开发中,如果输入框在布局的底部.在弹出输入发时,为了使输入法不遮挡输入框通常有两种做法: 1.将布局压缩(Activity的android:windowSoftInputMode属性设置为 ...

最新文章

  1. ADA4531 fA级静电放大器
  2. ReactNative生成android平台的bundle文件命令
  3. 机器学习(七)——tf.keras搭建神经网络固定模式
  4. OnLineML一:关于Jubatus 的简介...
  5. matlab读取时间数据,Matlab有关数据库读取及时间项的设定
  6. Kali Linux Web 渗透测试秘籍 第八章 中间人攻击
  7. 如何配置VS使得可以通过域名或IP访问
  8. yum [Errno -1] Metadata file does not match checksum
  9. 【上外青年】人物 ‖ 何晗:天才都是异类
  10. 皮尔逊相关系数和斯皮尔曼相关系数
  11. 摩拜女员工举报前端大佬性骚扰,擅用职权打压同事!
  12. GO分析和KEGG分析都是啥?
  13. 我的世界Java版中怎么改名_我的世界怎么改名字 付/免费改名字教程
  14. 做软文营销发布有哪些常见平台?
  15. 郴州职高哪个学计算机好,2021湖南郴州有什么职高学校
  16. 浏览器 User-Agent 大全
  17. mysql 军规_Mysql使用军规
  18. 前端做微信好友分享_一篇搞定微信分享和line分享
  19. 【MATLAB教程案例7】基于Gardner环的定时误差检测matlab仿真
  20. 王者荣耀小游戏1.0震撼上线!C++版

热门文章

  1. qpython手机版-qpythonl app下载
  2. python 绘制折线图-怎样用python绘制折线图
  3. 想学python有什么用-学python日常工作有什么用?
  4. 编程入门python语言是多大孩子学的-Python 适合初学编程的人学吗?
  5. python基本语法语句-Python基本语法,python,基础
  6. python编程入门课程视频-带学《Python编程:从入门到实践》
  7. python写出的程序如何给别人使用-python如何写出表白程序
  8. LeetCode Flatten a Multilevel Doubly Linked List(dfs)
  9. UVa10825 Anagram and Multiplication(dfs)
  10. 本地Git连接服务器git不用每次输入用户名和密码的方法