我在使用一个视图上的getX()和getY()方法进行一些特殊的拖动逻辑(不是动画,即我从未使用setX/Y方法,只需要这些getter来检查)。
然而,我已经意识到这些方法只在API 11之后可用。
getX()的文档中说它是'left'属性和'translationX'属性的总和。这很好,但是get/setTranslationX()也仅自API 11以来才存在。
我想知道这个方法在幕后返回了什么,以便我可以尝试解决问题。
我在使用一个视图上的getX()和getY()方法进行一些特殊的拖动逻辑(不是动画,即我从未使用setX/Y方法,只需要这些getter来检查)。
然而,我已经意识到这些方法只在API 11之后可用。
getX()的文档中说它是'left'属性和'translationX'属性的总和。这很好,但是get/setTranslationX()也仅自API 11以来才存在。
我想知道这个方法在幕后返回了什么,以便我可以尝试解决问题。
在您的项目中使用nineOldAndroid.jar
文件,并使用以下方法
import com.nineoldandroids.view.ViewHelper;
ViewHelper.setTranslationX(myView, translation);
ViewHelper.getX(myView);
getLeft()和getTop()怎么样?在视图没有被平移(setTranslationX()和setTranslationY())的情况下,它们看起来是有效的,而这些在旧的API中也是无效的。
getTop()
和 getLeft()
只返回相对于其父级的位置,如果你需要在屏幕上的位置,这种方法无法工作。 - Ektos974android.support.v4.view.ViewCompat
,解决方案如下:ViewCompat.getY(mView);
这个功能与老旧的Android设备兼容。