Ответ 1
Как получить getLeft() и getTop(). Мне кажется, что они действительны до тех пор, пока представление не было переведено (setTranslationX() и setTranslationY()), которые также недопустимы в более старом API.
Я использую метод getX() и getY() для представления для некоторой специальной логики перетаскивания (не анимации, т.е. я никогда не использую методы setX/Y, мне просто нужны геттеры для проверки).
Однако я понял, что они доступны только для пост-API 11.
Документы для getX() говорят, что это добавление свойства 'left' и 'translationX'. Все хорошо и хорошо, за исключением get/setTranslationX(), существует только с API 11.
Мне было интересно, есть ли какие-либо знания о том, что этот метод возвращает за кулисами, поэтому я мог бы найти способ обхода.
Как получить getLeft() и getTop(). Мне кажется, что они действительны до тех пор, пока представление не было переведено (setTranslationX() и setTranslationY()), которые также недопустимы в более старом API.
Используйте nineOldAndroid.jar
файл в своем проекте и используйте этот способ
import com.nineoldandroids.view.ViewHelper;
ViewHelper.setTranslationX(myView, translation);
ViewHelper.getX(myView);
Используя android.support.v4.view.ViewCompat
, решение:
ViewCompat.getY(mView);
который совместим со старыми устройствами Android.
Я полагаю, что это уже не актуально, но на всякий случай кто-то его ищет: http://nineoldandroids.com/