转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/118976533
本文出自【赵彦军的博客】

文章目录

  • 效果图
  • 实例代码

效果图

先看看效果图:

从效果上看就是布局文件从从屏幕右侧飞入屏幕内,但不是一起飞入,而是有视差效果。

实例代码

我们先写布局:

<?xml version="1.0" encoding="utf-8"?><androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"><Buttonandroid:id="@+id/view1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="pause" /><Buttonandroid:id="@+id/view2"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="resume" /><ImageViewandroid:id="@+id/view3"android:layout_width="match_parent"android:layout_height="200dp"android:src="@drawable/aa" /></androidx.appcompat.widget.LinearLayoutCompat>

布局非常简单,就是3个view( view1、view2、view3)。其中 view3 是一个ImageView 。看看预览效果

编写代码:

class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)var view1: View = findViewById(R.id.view1)var view2: View = findViewById(R.id.view2)var view3: View = findViewById(R.id.view3)view1.visibility = View.GONEview2.visibility = View.GONEview3.visibility = View.GONEval animator = slide(view1)//延迟执行:防止执行太快,视觉看不清animator.startDelay = 200animator.doOnStart {view1.visibility = View.VISIBLE}val animator2 = slide(view2)//延迟执行:制造和view1视差效果animator2.startDelay = 500animator2.doOnStart {view2.visibility = View.VISIBLE}val animator3 = slide(view3)//延迟执行:制造和view2视差效果animator3.startDelay = 800animator3.doOnStart {view3.visibility = View.VISIBLE}animator.start()animator2.start()animator3.start()}//从屏幕右侧滑入屏幕private fun slide(view: View): Animator {//获取屏幕宽度val display = windowManager.defaultDisplayval width = display.widthval animator = ObjectAnimator.ofFloat(view, "translationX", width.toFloat(), 0f)animator.interpolator = DecelerateInterpolator()animator.duration = 450return animator}
}

代码非常简单,我就不一一解释了,相信你能看明白

Android属性动画 实战-视差动画相关推荐

  1. Android属性动画 PropertyValuesHolder

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/118961952 本文出自[赵彦军的博客] 文章目录 PropertyValuesH ...

  2. android 属性动画高级,Android高级UI开发(二十五)属性动画实战案例之流浪大师与乔帮主...

    在上一篇文章里我们介绍了属性动画的基础知识,今天我们综合运用属性动画的知识来完成一个动画案例.首先,看一下这个动画效果: 1.  分析这个动画案例 第一个动画(浏览大师的动画)是:当点击顶部" ...

  3. Android属性动画实战教程开篇

    本系列博客会分俩篇 本篇博客主要是会介绍属性动画代码使用和xml中使用 关于View动画和属性动画的区别不做过多的介绍,当然涉及到的地方会简单的提一下. 好了废话不多说,直接上内容 首先介绍代码中使用 ...

  4. android 自定义View 视差动画

    本系列自定义View全部采用kt **系统: **mac android studio: 4.1.3 **kotlin version:**1.5.0 gradle: gradle-6.5-bin.z ...

  5. android 属性动画失败,AndroidAnimationExercise

    AndroidAnimationExercise 这是一个关于Android中各种View的集合,里面包含自己日常开发和博客总结中的代码. 主要内容是Android动画.Android自定义View ...

  6. Android属性动画 ObjectAnimator

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/118709616 本文出自[赵彦军的博客] 文章目录 ObjectAnimator ...

  7. android 开机动画 渐变,[Parallax Animation]实现知乎 Android 客户端启动页视差滚动效果...

    前言 Parallax Scrolling (视差滚动),是一种常见的动画效果.视差一词来源于天文学,但在日常生活中也有它的身影.在疾驰的动车上看风景时,会发现越是离得近的,相对运动速度越快,而远处的 ...

  8. Android 属性动画(Property Animation) ObjectAnimator的介绍

    先说下属性动画与视图动画的区别: 视图动画系统仅提供为 View 对象添加动画效果的功能,因此,如果您想为非 对象添加动画效果,则必须实现自己的代码才能做到.视图动画系统也存在一些限制,因为它仅公开 ...

  9. Android 属性动画(Property Animation) ValueAnimator 的介绍

    先说下属性动画与视图动画的区别: 视图动画系统仅提供为 View 对象添加动画效果的功能,因此,如果您想为非 对象添加动画效果,则必须实现自己的代码才能做到.视图动画系统也存在一些限制,因为它仅公开 ...

最新文章

  1. 2022-2028年中国椎间孔镜行业市场研究及前瞻分析报告
  2. php7.0 连接ftp,PHPstorm连接ftp
  3. acer清理工具 clear下载_时秋极致清理大师app下载安装_时秋极致清理大师软件最新版免费下载...
  4. python【蓝桥杯vip练习题库】BASIC-26报时助手
  5. 反反复复的磁盘丢失故障处理过程
  6. 阿里五年晋升三次,这个程序员要聊聊他的选择
  7. 机器学习框架_一文了解机器学习框架-TensorFlow的原理和用途
  8. 读大道至简第五章有感
  9. 深度学习2.0-32.经典卷积网络VGG,GoogleNet,Inception-1
  10. 微信小程序-腾讯云即时通信 IM 小程序直播(一)
  11. Mybatis中的事务提交
  12. android开发工具类之获得WIFI IP地址或者手机网络IP
  13. 主流实时流处理计算框架Flink初体验
  14. X猜想:比尔离开后的微软帝国
  15. python11.23
  16. visual studio新手使用教程
  17. 管理学中的 Expectancy Theory - 期望理论
  18. 【数据库】期末复习:SQL语句、关系代数的运算、范式的定义和判断、求最小函数依赖集、ER图转关系模式
  19. android 播放m3u9,M3U9笔记.ppt
  20. 网络收集自我检测题库

热门文章

  1. android studio编辑不了,无法在Android Studio中编辑文件
  2. android 一个activity定时更新另一个activity的UI
  3. 【数据分析实例】1000 万条淘宝用户行为数据实时分析
  4. 六十七、完成Vue项目首页图标区域布局和逻辑实现
  5. 八、深入Go 编程语言接口
  6. 三十八、学Sql,不了解Sql注入怎么行?
  7. 北京内推 | 联想研究院机器学习团队招聘因果推理算法研究实习生
  8. 名额有限 | 邀你奔赴一场与太极图形开发者的约会
  9. MIT开源高性能自动微分框架Enzyme:速度提升4.5倍
  10. 路径处理库pathlib使用详解