Android属性动画 实战-视差动画
转载请标明出处: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属性动画 实战-视差动画相关推荐
- Android属性动画 PropertyValuesHolder
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/118961952 本文出自[赵彦军的博客] 文章目录 PropertyValuesH ...
- android 属性动画高级,Android高级UI开发(二十五)属性动画实战案例之流浪大师与乔帮主...
在上一篇文章里我们介绍了属性动画的基础知识,今天我们综合运用属性动画的知识来完成一个动画案例.首先,看一下这个动画效果: 1. 分析这个动画案例 第一个动画(浏览大师的动画)是:当点击顶部" ...
- Android属性动画实战教程开篇
本系列博客会分俩篇 本篇博客主要是会介绍属性动画代码使用和xml中使用 关于View动画和属性动画的区别不做过多的介绍,当然涉及到的地方会简单的提一下. 好了废话不多说,直接上内容 首先介绍代码中使用 ...
- android 自定义View 视差动画
本系列自定义View全部采用kt **系统: **mac android studio: 4.1.3 **kotlin version:**1.5.0 gradle: gradle-6.5-bin.z ...
- android 属性动画失败,AndroidAnimationExercise
AndroidAnimationExercise 这是一个关于Android中各种View的集合,里面包含自己日常开发和博客总结中的代码. 主要内容是Android动画.Android自定义View ...
- Android属性动画 ObjectAnimator
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/118709616 本文出自[赵彦军的博客] 文章目录 ObjectAnimator ...
- android 开机动画 渐变,[Parallax Animation]实现知乎 Android 客户端启动页视差滚动效果...
前言 Parallax Scrolling (视差滚动),是一种常见的动画效果.视差一词来源于天文学,但在日常生活中也有它的身影.在疾驰的动车上看风景时,会发现越是离得近的,相对运动速度越快,而远处的 ...
- Android 属性动画(Property Animation) ObjectAnimator的介绍
先说下属性动画与视图动画的区别: 视图动画系统仅提供为 View 对象添加动画效果的功能,因此,如果您想为非 对象添加动画效果,则必须实现自己的代码才能做到.视图动画系统也存在一些限制,因为它仅公开 ...
- Android 属性动画(Property Animation) ValueAnimator 的介绍
先说下属性动画与视图动画的区别: 视图动画系统仅提供为 View 对象添加动画效果的功能,因此,如果您想为非 对象添加动画效果,则必须实现自己的代码才能做到.视图动画系统也存在一些限制,因为它仅公开 ...
最新文章
- 2022-2028年中国椎间孔镜行业市场研究及前瞻分析报告
- php7.0 连接ftp,PHPstorm连接ftp
- acer清理工具 clear下载_时秋极致清理大师app下载安装_时秋极致清理大师软件最新版免费下载...
- python【蓝桥杯vip练习题库】BASIC-26报时助手
- 反反复复的磁盘丢失故障处理过程
- 阿里五年晋升三次,这个程序员要聊聊他的选择
- 机器学习框架_一文了解机器学习框架-TensorFlow的原理和用途
- 读大道至简第五章有感
- 深度学习2.0-32.经典卷积网络VGG,GoogleNet,Inception-1
- 微信小程序-腾讯云即时通信 IM 小程序直播(一)
- Mybatis中的事务提交
- android开发工具类之获得WIFI IP地址或者手机网络IP
- 主流实时流处理计算框架Flink初体验
- X猜想:比尔离开后的微软帝国
- python11.23
- visual studio新手使用教程
- 管理学中的 Expectancy Theory - 期望理论
- 【数据库】期末复习:SQL语句、关系代数的运算、范式的定义和判断、求最小函数依赖集、ER图转关系模式
- android 播放m3u9,M3U9笔记.ppt
- 网络收集自我检测题库