由于刚刚学习android studio,做的许多项目涉及到跳转页面,以及使用到各种各样的控件。但是由于单一的样式,控件的交互以及页面的跳转都显得过于单调,使用体验感不强。于是学习了如何进行页面的简单跳转过渡动画以及控件的交互动画。

完成效果如下:

录屏2


制作过程


一、步骤

(1)创建两个页面分别为Mainactivity和Nerk页面

(2)在res文件夹下面创建anim文件,用来存放设计过渡动画的xml文件:

首先在anim文件下创建button_in.xml文件和button_out.xml文件(分别代表向下切入和向上            切出的过渡动画)

然后在button_in.xml文件中加入以下代码(具体原因等下一起说)

<translatexmlns:android="http://schemas.android.com/apk/res/android"android:duration="300"android:fromYDelta="100%p"android:toYDelta="0"/>

然后在button_out.xml文件中加入以下代码:

<translatexmlns:android="http://schemas.android.com/apk/res/android"android:duration="300"android:fromYDelta="0"android:toYDelta="-100%p" />

这样简单的过渡效果就制作好了,那么接下来就是如何使用这个效果了

(3)过渡页面动画的使用

在nerk.xml文件中加入如下xml代码:

<LinearLayout android:layout_width="match_parent"android:layout_height="match_parent"xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:gravity="center_horizontal"><TextViewandroid:id="@+id/heihei"android:layout_width="300px"android:layout_height="200px"android:text="开始"android:textSize="35sp"android:gravity="center"></TextView>
</LinearLayout>

然后在Nerk.java文件中给id为“heihei”的textview控件添加点击事件,在点击事件中加入如下代码:

其中,Intent(Nerk.this,MainActivity.class),表示设置页面跳转,即从Nerk页面跳转到Mainactivity页面。而

overridePendingTransition(R.anim.button_in, R.anim.button_out);

则表示加载改跳转动作的动画样式 ,切入动画为anim文件下的button_in.xml设置的动画,切出动画则为anim文件下的button_out.xml设置的动画。到此,页面的动画专场就完成了

同理

在Mainactivity.xml文件中加入如下xml代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="match_parent"android:layout_height="match_parent"xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:gravity="center_horizontal"><TextViewandroid:id="@+id/back"android:layout_width="300px"android:layout_height="200px"android:text="返回"android:textSize="35sp"android:gravity="center"></TextView><TextViewandroid:layout_width="match_parent"android:layout_height="300px"android:background="#ff0f0f"android:id="@+id/text1"></TextView>
</LinearLayout>

给id为R.id.back的textview控件添加点击事件,在事件中添加如下代码

finish();
overridePendingTransition(R.anim.button_in, R.anim.button_out);

则完成了返回页面的动作。

二、解

在开始编写的button_in和button_out文件中添加的translate控件,表示过渡动画的设置:

android:duration:设置的是动画的时间,300表示300ms
android:fromYDelta和android:toYDelta则设置垂直方向的动画平移

而参数中的100%p和0用以下这张图简单解释


定义的是开始位置fromYDelta到toYDelta的位置,同理也可以设置fromXDelta到toXDelta,表示的是左右方向的过渡动画。

三、控件的出场动画

同理,该过渡动画不仅仅只能设置在转场页面的过渡之中,在页面加载时候,控件的出场也可以同样设置,例如上面截取的视频中,Mainactivity页面中红色块textview的出场则为x轴方向的平移,从屏幕的右方慢慢平移到屏幕中间。

在anim文件下的xml文件内容均相同,一样设置动画,但是在引用方面不同

TextView te=findViewById(R.id.text1);
Animation animation=AnimationUtils.loadAnimation(MainActivity.this,R.anim.list_first_move);
te.setAnimation(animation);

首先用Animation类加载anim文件中的xml样式文件,然后利用setAnimation方法给控件添加刚刚加载的Animation动画效果。则设置完成

总结

在小程序的制作中,控件的动画样式和页面的转场样式都很重要,因为在app的使用过程中,这些动画的出现频率非常高,而且能大大提高用户的使用体验。本文章只是简单介绍了动画的设置和使用,具体的动画效果可以自行添加和设置,但是原理都是一样的。

android设置页面转场特效相关推荐

  1. Android设置页面Preference出现红色下划线

    昨天发现了一个问题,在设置的关于设备选项中,有一栏是设备名称,在修改为非英文单词后,上下滑动,会出现一条红色下划线提示,如下图所示 经过博主的摸索发现,这是由于Android的拼写检查服务造成的,在设 ...

  2. Android设置页面PreferenceFragment使用详细+代码分析

    Android设置页面PreferenceFragment使用详细 文章目录Android设置页面PreferenceFragment使用详细一 设置页面核心代码二 设置页面布局核心代码三Settin ...

  3. android 设置全局的页面切换动画问题

    这两天在看android 设置页面切换动画,看的很纠结,晕菜了 我这里有四个手机, 一加 版本  5.1.1   小米2s  版本 5.0 华为P6   版本    4.4.2   酷派版本   4. ...

  4. 怎样自定义设置EDIUS中2D转场特效

    初学EDIUS视频编辑软件的小伙伴相信通过小编写的EDIUS教程一定是已经了解到了转场的基本原理和特殊的操作方法了吧,现在我们就去更深层次地去了解下它吧.今天我们就来看一下EDIUS 2D转场自定义设 ...

  5. 用离屏canvas制作仿Prezi页面转场动画特效

    用离屏canvas制作网站页面特效.仿Prezi转场特效 首屏效果 页面切换转场效果 · 首屏圆形循环扩散效果 首屏效果的难点在于圆形循环扩散动画和贝塞尔曲线的绘制.圆形逐渐扩大的动画并不难,关键在于 ...

  6. android 页面icon拉伸_所有同学!注意咯!!设计师不可忽略的页面转场来咯!!...

    点击上方蓝字关注 + 点击右上方"..."设为星标 嗨小伙伴们大家周末好!☀️不可忽略的页面转场来咯!!所有同学!注意咯!今天小编Cosplay李佳琦带货的style来介绍这篇文章 ...

  7. 如何直接打开android系统的wifi设置页面,防止intent劫持

    在android的app开发中,经常会遇到需要跳转至系统设置页面的需求.但是当你使用以下代码时: 如 Intent intent =  new Intent(Settings.ACTION_WIFI_ ...

  8. android 页面icon拉伸_页面转场: 忽略它可能会使你犯错

    转自:和出此严(ID:Hechu618) 作者: 和出此严 不知各位产品经理.UE/UI设计师在设计产品时,除了考虑交互说明.功能状态.页面逻辑等之外,是否会关注 页面跳转间的"转场效果&q ...

  9. Android中FlowLayout的使用方法,监控布局大小并设置页面高度

    博客来源: 工作中需要动态的为页面插入提示语,并根据提示语的不同进行换行操作.提示语数量不同,长度不同,那么就需要页面具有流动性 话不多说,上代码 这是一个工具类,复制进行小修改即可[下方有我调用参考 ...

最新文章

  1. 全长转录组之基因和转录本鉴定
  2. 一个java文件中可包含多个main方法
  3. ImportError: cannot import name *
  4. C#LeetCode刷题之#383-赎金信(Ransom Note)
  5. 鼎信诺oracle_鼎信诺审计系统操作说明
  6. numpy二维数组改变某些数_机器学习:Python常用库——Numpy库
  7. 在大厂工作5年的大神,给前端初学者的四大建议
  8. Android入门(四)UI-创建自定义控件
  9. 毕设题目:Matlab手势识别
  10. 系统集成项目管理工程师考试英语吗?
  11. LBP算法及其改进算法
  12. PB:玉米气生根分泌物支持的高效生物固氮
  13. webpack4.0核心概念(七)———— “devtool:source-map“
  14. 写贺卡给毕业师姐怎么写计算机系的,师哥送下一届毕业的寄语
  15. python plc fx5u_三菱PLC FX5U定位编程时的注意事项说明
  16. 手游代理路上容易遇到哪些坑
  17. php留言本在线制作,Flash+php+mysql简单留言本制作
  18. 信息系统开发与管理【五】之 系统分析
  19. 批处理将生词导入金山词霸生词本!
  20. 那些年,我们用过最好的视频播放器

热门文章

  1. 贴片铝电容识别及型号_TDK贴片电容识别方法及命名规则
  2. 超过1M的网络动图添加到微信表情包
  3. VGA数模转换电阻匹配网络分析
  4. 华硕关闭更新BIOS
  5. 编写微信聊天机器人3《聊天精灵WeChatGenius》:使用Xposed来hook微信,找到微信进程。
  6. 英文字母注册商标的最全攻略来了
  7. Promise学习:基础入门
  8. 【计算思维题】少儿编程 蓝桥杯青少组计算思维题真题及解析第2套
  9. bind9 dlz mysql_源码安装Bind 9.10 正式版 开启DLZ数据库支持 和 数据库view查询
  10. unity 超简单的圆形进度条