Matrix.setTranslate () переводит только визуальную поверхность представления, а не область, активируемую щелчком мыши? - PullRequest
4 голосов
/ 22 января 2010

Я создал простой класс, производный от Animation, и добавил слушатель onclick к представлению (в данном примере LinearLayout, просто для быстрой проверки концепции), которое вызвало startAnimation объекта (передав ему экземпляр моегоучебный класс).В моем классе анимации я просто получаю ссылку на объект матрицы перевода и вызываю setTranslate.Итак, перевод выглядит нормально, но если я попытаюсь снова щелкнуть там, где я сейчас вижу объект (переведенное местоположение), ничего не произойдет.Если я вернусь к исходному местоположению и нажму, он повторяет ту же анимацию из той же начальной точки.У меня сложилось впечатление, что перевод фактически переведет сам объект, а не только визуальное представление.Есть ли способ сделать то, что я ожидал, с классом анимации?Или есть какой-то другой стандартный способ сделать это?Любое понимание, почему это поведение так, как оно есть?Спасибо.

Ответы [ 2 ]

0 голосов
/ 04 июня 2012

Вы можете использовать View.setTranslationX () и View.setTranslationY (), они должны делать свое дело в Android Honeycomb и после:)

0 голосов
/ 21 февраля 2011

Нет, в документации указано, что она только модифицирует матрицу. Если вы действительно хотите изменить остальную часть интерпретации представления системой, установите прослушиватель анимации, который устанавливает позицию, когда анимация заканчивается.

...