我在视图上使用getX()和getY()方法来获取一些特殊的拖动逻辑(不是动画,即我从不使用setX / Y方法,我只需要getter来检查)。
但是,我已经意识到这些仅在API 11之后可用。
getX()的文档说是添加了'left'属性和'translationX'属性。一切都很好,除了get / setTranslationX()以及API 11之后。
我想知道是否有任何关于此方法在幕后返回的知识,所以我可以提出一个解决方法。
答案 0 :(得分:16)
在项目中使用nineOldAndroid.jar
文件并使用此方式
import com.nineoldandroids.view.ViewHelper;
ViewHelper.setTranslationX(myView, translation);
ViewHelper.getX(myView);
答案 1 :(得分:14)
getLeft()和getTop()怎么样?在我看来,只要视图尚未翻译(setTranslationX()和setTranslationY()),它们就是有效的,它们在旧API中也无效。
答案 2 :(得分:3)
使用android.support.v4.view.ViewCompat
解决方案是:
ViewCompat.getY(mView);
与旧的Android设备兼容。
答案 3 :(得分:0)
我认为它不再相关,但以防万一有人在寻找它: http://nineoldandroids.com/