28

我在视图上使用 getX() 和 getY() 方法来实现一些特殊的拖动逻辑(不是动画,即我从不使用 setX/Y 方法,我只需要 getter 来检查)。

但是,我开始意识到这些仅在 API 11 之后可用。

getX() 的文档说这是添加了“left”属性和“translationX”属性。一切都很好,除了 get/setTranslationX() 也是从 API 11 开始出现的。

我想知道是否有任何关于这个方法在幕后返回的知识,所以我可以提出一个解决方法。

4

4 回答 4

16

在你的项目中使用nineOldAndroid.jar文件并使用这种方式

import com.nineoldandroids.view.ViewHelper;


ViewHelper.setTranslationX(myView, translation);

ViewHelper.getX(myView);
于 2013-12-26T07:03:43.490 回答
14

getLeft() 和 getTop() 怎么样。在我看来,只要视图尚未被翻译(setTranslationX() 和 setTranslationY()),这些在旧 API 中也无效。

于 2012-06-20T03:13:08.283 回答
3

使用android.support.v4.view.ViewCompat解决方案是:

ViewCompat.getY(mView);

它与旧的 android 设备兼容。

于 2016-05-30T00:41:13.863 回答
0

我想它不再相关了,但以防万一有人在寻找它: http: //nineoldandroids.com/

于 2013-02-01T09:52:13.937 回答