android r 新建分区_Android实现从下往上弹出视差效果(Activity)
先看下效果
背景
现在很多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)相关推荐
- onsenui实现从下往上弹出效果的实现
在做移动端H5的问题,我查找了所有的onsenui从下往上弹出框自动的控件,但都必须弹出框是另一个ons-page, 但这样对我的业务是一个弊端,必须在一个ons-page里实现才能达到我想要的效果, ...
- android 蒙版图片带拖动_Android实现蒙版弹出框效果
本文实例为大家分享了android蒙版弹出框效果的具体代码,供大家参考,具体内容如下 自定义 package cn.lxsdb.yyd.app.dialog; import cn.lxsdb.yyd. ...
- Android DialogFragment实现底部弹出菜单效果
底部弹出式菜单, 可以使用PopupWindow来做,也可以用自定义View来做.当然这里采用DialogFragment来做. DialogFragment是3.0之后引入的,使用DialogFra ...
- android+底部评论框,Android 之BottomsheetDialogFragment仿抖音评论底部弹出对话框效果(实例代码)...
实现的效果图: 自定义Fragment继承BottomSheetDialogFragment 重写它的三个方法: onCreateDialog() onCreateView() onStart() 他 ...
- 三种方法 彻底解决win10 cmd下运行python弹出windows应用商店
在已经通过python官网安装完成python后,命令行输入python,会弹出微软应用商店. 方法一:下移微软商店的环境变量 首先可以将环境变量中的 C:\Users\Marvin\AppData\ ...
- 解决win10 cmd下运行python弹出windows应用商店问题
解决win10 cmd下运行python弹出windows应用商店问题 问题描述: win10系统下,环境变量已配置,然而在cmd下或powershell下运行python,均弹出应用商店,不能正 ...
- win10系统cmd模式下输入python弹出Windows应用商店 解决方法
win10系统cmd模式下输入python弹出Windows应用商店 解决方法 解决方法1: 打开环境变量设置[此电脑->属性->高级系统设置->环境变量] 在变量Path中发现有% ...
- Android调用系统群发短信,vivo部分手机弹出“无效的地址”解决方法
Android调用系统群发短信,vivo部分手机弹出"无效的地址"解决方法 第一次写文章,来试试水 之前项目中有一个需求是获取通讯录联系人信息,并展示出来,然后可以选择一个或者多个 ...
- android 自定义输入法布局,Android 解决沉浸式状态栏下,输入法弹出,布局不会自动调整的BUG...
一.前言 在开发中,如果输入框在布局的底部.在弹出输入发时,为了使输入法不遮挡输入框通常有两种做法: 1.将布局压缩(Activity的android:windowSoftInputMode属性设置为 ...
最新文章
- ADA4531 fA级静电放大器
- ReactNative生成android平台的bundle文件命令
- 机器学习(七)——tf.keras搭建神经网络固定模式
- OnLineML一:关于Jubatus 的简介...
- matlab读取时间数据,Matlab有关数据库读取及时间项的设定
- Kali Linux Web 渗透测试秘籍 第八章 中间人攻击
- 如何配置VS使得可以通过域名或IP访问
- yum [Errno -1] Metadata file does not match checksum
- 【上外青年】人物 ‖ 何晗:天才都是异类
- 皮尔逊相关系数和斯皮尔曼相关系数
- 摩拜女员工举报前端大佬性骚扰,擅用职权打压同事!
- GO分析和KEGG分析都是啥?
- 我的世界Java版中怎么改名_我的世界怎么改名字 付/免费改名字教程
- 做软文营销发布有哪些常见平台?
- 郴州职高哪个学计算机好,2021湖南郴州有什么职高学校
- 浏览器 User-Agent 大全
- mysql 军规_Mysql使用军规
- 前端做微信好友分享_一篇搞定微信分享和line分享
- 【MATLAB教程案例7】基于Gardner环的定时误差检测matlab仿真
- 王者荣耀小游戏1.0震撼上线!C++版
热门文章
- qpython手机版-qpythonl app下载
- python 绘制折线图-怎样用python绘制折线图
- 想学python有什么用-学python日常工作有什么用?
- 编程入门python语言是多大孩子学的-Python 适合初学编程的人学吗?
- python基本语法语句-Python基本语法,python,基础
- python编程入门课程视频-带学《Python编程:从入门到实践》
- python写出的程序如何给别人使用-python如何写出表白程序
- LeetCode Flatten a Multilevel Doubly Linked List(dfs)
- UVa10825 Anagram and Multiplication(dfs)
- 本地Git连接服务器git不用每次输入用户名和密码的方法