首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android Kotlin -动画translationX忽略距离并退出屏幕

Android Kotlin中的动画translationX忽略距离并退出屏幕是指在Android应用中使用Kotlin语言实现的动画效果,通过设置translationX属性来实现视图在水平方向上的平移动画,并使其忽略距离并退出屏幕。

动画是一种通过连续的图像或视图变化来创建视觉效果的技术。在Android开发中,动画可以为用户提供更加生动和吸引人的界面交互体验。

translationX是View类中的一个属性,用于指定视图在水平方向上的平移距离。通过设置translationX的值,可以实现视图在水平方向上的平移效果。

当我们想要实现一个视图从当前位置平移出屏幕的效果时,可以通过设置translationX的值为视图的宽度或者屏幕的宽度来实现。例如,如果要使视图完全平移出屏幕,可以将translationX的值设置为视图的宽度或者屏幕的宽度的负值。

以下是使用Kotlin实现动画translationX忽略距离并退出屏幕的示例代码:

代码语言:txt
复制
val view = findViewById<View>(R.id.myView)
val screenWidth = resources.displayMetrics.widthPixels

val animator = ObjectAnimator.ofFloat(view, "translationX", 0f, -screenWidth.toFloat())
animator.duration = 1000
animator.start()

在上述代码中,我们首先获取了要进行动画的视图对象view,并获取了屏幕的宽度screenWidth。然后,我们创建了一个ObjectAnimator对象animator,通过设置视图的translationX属性的起始值为0,结束值为屏幕宽度的负值,来实现视图从当前位置平移出屏幕的效果。最后,我们设置了动画的持续时间为1000毫秒,并启动了动画。

这种动画效果可以应用于多种场景,例如在应用中实现视图的淡出效果、滑动删除效果等。

腾讯云提供了一系列与移动开发相关的产品和服务,其中包括云服务器、移动推送、移动直播、移动分析等。您可以根据具体需求选择适合的产品来支持您的移动应用开发。

更多关于腾讯云移动开发产品的信息,请访问腾讯云移动开发产品介绍页面:腾讯云移动开发产品

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

android 右滑返回的示例代码

" @android:color/transparent</item <item name="<em>android</em>:windowIsTranslucent" true</item activity的跳转动画...手指在X轴方向右滑动50~100px时,判断是否为(产品经理要)右滑动作 手指落点为全屏幕,X方向滑动距离要比Y方向的大一些; 手指落点为左侧边,X方向滑动距离有一些就行 private float downX...30%屏幕宽度,返回 onBack(); } else { //不返回,根布局偏移归零 rootView.animate().translationX...start(); } ... } } ... } 关联下层activity滑动 保存所有的activity以获取下层activity 给下层activity添加退出和进入的动画...30%屏幕宽度,返回 onBack(); } else { //不返回,根布局偏移归零 rootView.animate().translationX(0).setDuration(200).start

92821

高级 UI 成长之路 (一) View的基础知识你必须知道

**TouchSlop** TouchSlop 官方解释就是系统所能识别的被认为是滑动的最小距离,通俗点说就是当手指在屏幕上滑动时,如果两次滑动之间的距离小于这个常量,那么系统就认为你没有在滑动,可以通过下面的...| 手指(轻轻触摸屏幕后)松开,伴随着 1 个 MotinEvent.ACTION_UP 而触发,这是单击行为 | | onScroll | 手指按下屏幕拖动,由 1 个 ACTION_DOWN ,...使用动画来移动 View ,主要是操作 View 的 translationX 和 translationY 属性,可以采用传统的 View 动画,也可以使用属性动画,如果采用属性动画注意要兼容 3.0...,它只是在 2s 内完成了整个动画过程,利用这个特性我们就可以在动画的每一帧到来时获取动画完成的比例,然后根据这个比例计算滑动的距离。...(ps:可以看到上面代码示例都是基于 Kotlin 来编写了,如果有对 Kotlin 感兴趣的或者是从 0 开始学的,看完 Kotlin 基础语法 之后,我相信 新手入门级 Kotlin GitHub

72710

安卓属性动画小技巧

view 从未执行属性动画或者人为设置偏移量(如调用 setTranslationX()),偏移量就是 0,而 mLeft 是据其父 view 的左边界的距离。...view 执行过属性动画过后或者被设置了偏移量(如调用 setTranslationX(),此时 view 的位置已经改变到新的位置), 偏移量就是 getTranslationX(),其实就是距离最初...如图布局,需求是点击屏幕时,button 需要下滑到屏幕外 通常我们想到的是将 button 向下移动 button 顶部距离屏幕底部的距离。但是这个距离就得知道 button 父 view 的高度。...(mButton, View.Y, originY,originY+d) 采用 setTranslationY() 方法,只需让 button 向下偏移距离 d(动画效果就是偏移量逐渐由 0 至 d)...扯,距离 d 中不就需要 originY 的值吗? 这里我想说的在写动画中,采用 setTranslationY() 方法,动画只需知道向下偏移 d 距离,不需要知道具体的坐标值概念。

58540

listview滑动删除

在API3.0(Honeycomb), SDK新增了一个android.animation包,里面的类是实现动画效果相关的类,通过Honeycomb API,能够实现非常复杂的动画效果,但是如果开发者想在...,我们要使得Item跟随手指的滑动而滑动 当我们抬起手指的时候,我们根据滑动的距离或者手指在屏幕上面的速度来判断Item是滑出屏幕还是滑动至其实位置 Item滑出屏幕时,使ListView的其他item...boolean dismissRight = false;//是否往右边删除 //当拖动item的距离大于item的一半,item滑出屏幕 if (Math.abs(deltaX) >...接下来就是手指在屏幕上面滑动的处理方法handleActionMove(),这个方法就稍微的复杂些,我们需要根据手指在X轴的滑动距离和Y轴的滑动距离来判断是ListView item的水平滑动还是ListView...在看手指抬起的时候的处理方法handleActionUp(),这里面需要根据手指的滑动速度或者Item移动的距离来判断Item是滑出屏幕还是滑动至起始位置,并且要判断item向左还是向右滑出屏幕等等逻辑

1.8K70

Android属性动画实现图片从左到右逐渐消失

前言:dp/dip代表独立像素,dpi代表屏幕每英寸像素点的个数,px与dp的转换公式为: px = dp *(dpi / 160) 一、效果图 ?...(); //第二种动画方式 animator = ObjectAnimator.ofFloat(image, "translationX", dp2px(50)); animator.setDuration...public void onAnimationEnd(Animator animation) { //当图片发生点击时可以通过下面代码将图片复位到原来位置 //否则响应点击事件的图片可能会显示不全,不响应点击的忽略...public void onAnimationEnd(Animator animation) { //当图片发生点击时可以通过下面代码将图片复位到原来位置 //否则响应点击事件的图片可能会显示不全,不响应点击的忽略...start()就能执行,因为其会在屏幕刷新的时候会自动执行 //第一种动画方式 image.animate() .translationX(dp2px(50)) .setDuration(1500) .

1.8K40

惊艳!.NET MAUI成功复刻苹果Cover Flow,效果超乎想象!

透视参数就是在屏幕中模拟了现实世界中近大远小透视效果,我简单用ptt做一个演示: 三个图形沿Y轴方向旋转, 从左到右透视距离依次减小,透视角度依次增大,换句话说是离得更近,视野变大,物体的畸变变大。...代码忽略。 创建绑定数据 创建MainPageViewModel.cs,用于界面绑定数据源。...当前封面是从专辑堆叠中挑选出来的,它的位置是固定的,左右两边的封面相对于当前封面,有一个固定的距离,step为当前封面和左右第一张封面之间的距离,slidePadding为其它封面和当前封面之间的距离。...详情请参考Animation子动画。 RotateY、SkewY、TranslationX、Scale直接赋值的方式将由动画代替。动画是一种缓动机制,通过属性的缓慢改变实现平滑的过渡动画。...,使得在不同屏幕大小设备,或者横竖屏切换时,效果保持一致。

41130

Android动画入门教程之kotlin

前言 Google在今年的IO大会上宣布,将Android开发的官方语言更换为Kotlin,作为跟着Google玩儿Android的人,我们必须尽快了解和使用Kotlin语言。...本文将详细介绍Android动画入门之kotlin的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。...比如说,现在屏幕的左上角有一个按钮,然后我们通过补间动画将它移动到了屏幕的右下角,现在你可以去尝试点击一下这个按钮,点击事件是绝对不会触发的,因为实际上这个按钮还是停留在屏幕的左上角,只不过补间动画将这个按钮绘制到了屏幕的右下角而已...既然属性动画的实现机制是通过对目标对象进行赋值修改其属性来实现的,那么之前所说的按钮显示的问题也就不复存在了,如果我们通过属性动画来移动一个按钮,那么这个按钮就是真正的移动了,而不再是仅仅在另外一个位置绘制了而已...rotationY",0f,180f), ObjectAnimator.ofFloat(v,"rotation",0f,-90f), ObjectAnimator.ofFloat(v,"translationX

90910

Android实现纸飞机的简单操作

在项目中,我们要求做一个纸飞机的功能:就是当打开这个界面时,会有4架纸飞机从屏幕左侧飞入,然后到达自己的位置坐上下浮动,同时云彩也不断地从屏幕右侧飘到屏幕左侧。...当你点击其中一个纸飞机时,这个纸飞机先向上飞出屏幕外,再从左侧飞入,当飞机回到原来位置时,弹出一个消息框。...="http://schemas.android.com/apk/res/android" android:id="@+id/relative_plane_bj" android:layout_width...--自定义的飞机布局动画-- <com.cloudi.forum.view.PaperPlaneLayout android:id="@+id/plane_layout" android:layout_width...initAnimation() { //设定纸飞机进入的位置 initPlaneEnterAnimation(); //飞机进入后做上下浮动 initPlaneAnimation(); //云彩循环从屏幕右侧飘到屏幕左侧

98520

在.NET MAUI中复刻苹果Cover Flow

下面原文是动图,公众号大图无法上传,建议阅读原文查看 使用.NET MAUI实现跨平台支持,本项目可运行于Android、iOS平台。...透视参数就是在屏幕中模拟了现实世界中近大远小透视效果,我简单用ptt做一个演示: 三个图形沿Y轴方向旋转, 从左到右透视距离依次减小,透视角度依次增大,换句话说是离得更近,视野变大,物体的畸变变大。...代码忽略。 创建绑定数据 创建MainPageViewModel.cs,用于界面绑定数据源。...当前封面是从专辑堆叠中挑选出来的,它的位置是固定的,左右两边的封面相对于当前封面,有一个固定的距离,step为当前封面和左右第一张封面之间的距离,slidePadding为其它封面和当前封面之间的距离。...详情请参考Animation子动画。 RotateY、SkewY、TranslationX、Scale直接赋值的方式将由动画代替。动画是一种缓动机制,通过属性的缓慢改变实现平滑的过渡动画

28730

Art of Android Development Reading Notes 3

Android 3.0开始,view增加了x、y、translationX、translationY四个参数,这几个参数也是相对于父容器的坐标。...x = left + translationX y = top + translationY (3)MotionEvent是指手指接触屏幕后所产生的一系列事件,主要有ACTION_UP、ACTION_DOWN...通过View的getScrollX和getScrollY方法可以得到滑动的距离。...(3)使用动画来移动view主要是操作view的translationX和translationY属性,既可以使用传统的view动画,也可以使用属性动画,使用后者需要考虑兼容性问题,如果要兼容Android...[2016-10-21更新:现在一般都不需要再兼容那么低版本的Android系统了,所以nineoldandroids这个库已经不再维护了] 使用动画还存在一个交互问题:在android3.0以前的系统上

42310

安卓 View 的事件体系

1.3.2 TouchSlop TouchSlop是系统所能识别出的被认为是滑动的最小距离,换个说法,当手指在屏幕上滑动时,如果两次滑动之间的距离小于这个 常量,那么系统就不认为你是在进行滑动操作。...使用动画来移动View,主要是操作View的translationX和translationY属性,既可以采用传统的View动画,也可以采用属性动画,如果采用属性动画的话,为了能够兼容3.0以下的版本,...如果是Android 3.0以上采用属性动画,那么采用这种方式没有明显的缺点;如果是使用View动画或者在Android 3.0以下使用属性动画,均不能改变View本身的属性。...利用这个特性,我们就可以在动画的每一帧到来时获取动画完成的比例,然后再根据这个比例计算出当前View所要滑动的距离。注意,这里的滑动针对的是View的内容而非View本身。...参考书目 《android开发艺术探索》任玉刚著 《Android群英传》徐宜生著

40610

.NET MAUI 模仿网易云音乐黑胶唱片的交互实现

今天在 .NET MAUI 中我们来实现这个交互效果,先来看看效果: 使用.NET MAU实现跨平台支持,本项目可运行于Android、iOS平台。...在左右滑动的全程中,唱盘的中心点与相邻唱盘的中心点距离,应为屏幕宽度。如下图所示 唱盘与唱盘的距离应是 创建影子控件,这个控件将随拖拽物的移动而跟随移动,当然我们只需要保持X方向的移动即可。...我们需要将影子控件的偏移量与屏幕宽度作匹配,我们用转换器来实现这个功能。...用当前唱盘的“瞬移”,看起来像唱盘被影子唱盘替换掉了,但是在屏幕中心活动的拖拽物,一直是真正的那个控件。...private Animation rotateAnimation; 编写启动旋转动画方法StartAlbumArtRotation以及停止动画方法StopAlbumArtRotation,代码如下:

34440

Android自定义控件总结

//如果View没有设置背景,那么返回android:minWidth这个属性的值,这个值可以为0 //如果View设置了背景,那么返回android:minWidth和背景最小宽度两者中的最大值。...这些参数都是相对于父容器的坐标,并且translationX和translationY的默认值是0,他们的换算关系是:x=left+translationX   y=top+ translationY。...(让view在一段时间内做某件事),extends Animation, 总要修改的是translationx.y这俩个值 (相对于父容器移动的距离)  b.使用Scoller          c.offsetTopAndBottom...3.在up的时候,判断应显示的页面位置,计算距离、滑动页面。.../** * 移动当前view内容 移动一段距离 * disX X方向移的距离 为正是,图片向左移动,为负时,图片向右移动 * disY Y方向移动的距离

1.3K80

Android自定义控件总结

//如果View没有设置背景,那么返回android:minWidth这个属性的值,这个值可以为0 //如果View设置了背景,那么返回android:minWidth和背景最小宽度两者中的最大值。...这些参数都是相对于父容器的坐标,并且translationX和translationY的默认值是0,他们的换算关系是:x=left+translationX y=top+ translationY。...是系统所能识别出的被认为是滑动的最小距离,比如当俩次滑动事件的滑动距离小于这个值,我们就可以认为未达到滑动距离的临界值 ---- 事件分发 View中 setOnTouchListener的onTouch...(让view在一段时间内做某件事),extends Animation, 总要修改的是translationx.y这俩个值 (相对于父容器移动的距离) b.使用Scoller c.offsetTopAndBottom...3.在up的时候,判断应显示的页面位置,计算距离、滑动页面。

96211
领券