android中动画区别是什么意思,Android动画View的setX跟setTranslationX区别结合源码解析...

Android动画View的setX跟setTranslationX区别结合源码解析

Android动画View的setX跟setTranslationX区别结合源码解析

以TextView为例我们看看,先看一下我的xml:

android:id="@+id/tv_test"

android:layout_width="200dp"

android:layout_height="50dp"

android:layout_marginLeft="20dp"

android:text="Test"/>

看一下原图:

4a5bdf47c0552755aac817c0efe3c4b4.png

然后我们调一下setX看看:

tv_test.setX(100);

看一下效果:

ac1c07a9e27ef2b73c09a6d5e91cc93e.png

再看一下setTranslationX:

tv_test.setTranslationX(100);

看一看效果:

5f30bbe3772ef64a00d2581239c5cd8e.png

接下来我们看一下setX源码:

/**

* Sets the visual x position of this view, in pixels. This is equivalent to setting the

* {@link #setTranslationX(float) translationX} property to be the difference between

* the x value passed in and the current {@link #getLeft() left} property.

*

* @param x The visual x position of this view, in pixels.

*/

public void setX(float x) {

setTranslationX(x - mLeft);

}

这里mLeft就是marginLeft的值由此可以看出setX与setTranslationX区别在于setX减去了marginLeft的值后的偏移量,setTranslationX是直接设置偏移量。

Android动画View的setX跟setTranslationX区别结合源码解析相关教程

Android开发案例 用ImageSeekBar实现拖动进度条切换图片

Android开发案例 用ImageSeekBar实现拖动进度条切换图片 ?xml version=1.0 encoding=utf-8?LinearLayout xmlns:android=http://schemas.android.com/apk/res/android android:orientation=vertical android:layout_width=match_parent android:layout_height=

个人开源库的一些更新,兼谈Jetpack和Kotlin给Android开发带来的

个人开源库的一些更新,兼谈Jetpack和Kotlin给Android开发带来的变化 前段时间,我开发完成了新的软件 移动工具箱。最近,我准备把开发过程中总结的一些东西沉淀到自己个人开源的几个库中。最新的一些更新中运用了 Kotlin 和 Jetpack 的一些语法特性,故此总

Android指南针陀螺仪开发

Android指南针陀螺仪开发 Android完整指南针demo,主要两个类,一个指南针旋转动画类,一个指南针界面类 先上效果图,如下 1、动画类 2、界面类 以上代码有参考网络上的文章,确实太久远,找不到出处了,还请大神们见谅。 实例代码地址:https://download.cs

WPF中如何将ViewModel作为ContentControl的Content

WPF中如何将ViewModel作为ContentControl的Content WPF中如何将ViewModel作为ContentControl的Content 在WPF中有一种控件叫做ContenControl,其有一个object类型的依赖属性Content。我们常规做法是将UserControl赋值给Content,但是这么做两个问题。 1)一般

Delphi 与 DirectX 之 DelphiX(8): 第一个简单动画

Delphi 与 DirectX 之 DelphiX(8): 第一个简单动画 为什么80%的码农都做不了架构师? 本例效果图(用 gif 动画演示, 无论如何也出不来 DirectX 的流畅效果): 代码文件: unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, C

Android学习笔记-ListView的使用(Kotlin)

Android学习笔记-ListView的使用(Kotlin) 前言: Kotlin 中: !!. 与 ?. 的区别 ?. 与 !!. 都是Kotlin提供的检测空指针的方法。 ?. 在声明对象时,把它跟在类名后面,表示这个类允许为null; 在调用对象时,把它跟在对象后面,表示如果为null程序就会视而不

安卓逆向——怎样开发第一个Android程序

安卓逆向——怎样开发第一个Android程序? 世界上有很多人都想成为Number one!但是作为程序员的我们已经做不了第一个程序员。有个词语说“生不逢时”恰恰表达了人们的这种遗憾,如果出生生活在那个时期,指不定其中的第一个程序员就是各位之一了哈。 虽然不

AndroidTV开发8-------TV中View焦点放大缩小效果工具类的封装演

AndroidTV开发8-------TV中View焦点放大缩小效果工具类的封装演化之路 上一篇文章,我们讲了TV开发中常见的View处于焦点状态时放大缩小带边框效果,这一篇博客将讲解为啥要封装?如何封装焦点状态放大缩小工具类以及封装的演化之路。 1.为啥要封装成一个工具

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值