Подтвердить что ты не робот

Эквивалент Android для обозревателя View.getX() перед API 11?

Я использую метод getX() и getY() для представления для некоторой специальной логики перетаскивания (не анимации, т.е. я никогда не использую методы setX/Y, мне просто нужны геттеры для проверки).

Однако я понял, что они доступны только для пост-API 11.

Документы для getX() говорят, что это добавление свойства 'left' и 'translationX'. Все хорошо и хорошо, за исключением get/setTranslationX(), существует только с API 11.

Мне было интересно, есть ли какие-либо знания о том, что этот метод возвращает за кулисами, поэтому я мог бы найти способ обхода.

4b9b3361

Ответ 1

Как получить getLeft() и getTop(). Мне кажется, что они действительны до тех пор, пока представление не было переведено (setTranslationX() и setTranslationY()), которые также недопустимы в более старом API.

Ответ 2

Используйте nineOldAndroid.jar файл в своем проекте и используйте этот способ

import com.nineoldandroids.view.ViewHelper;


ViewHelper.setTranslationX(myView, translation);

ViewHelper.getX(myView);

Ответ 3

Используя android.support.v4.view.ViewCompat, решение:

ViewCompat.getY(mView);

который совместим со старыми устройствами Android.

Ответ 4

Я полагаю, что это уже не актуально, но на всякий случай кто-то его ищет: http://nineoldandroids.com/