Слушатель Onlclick не работает должным образом ..? - PullRequest
6 голосов
/ 07 ноября 2011

У меня есть кнопка, которую я повернул на 45 градусов, используя анимацию поворота, и применил к слушателю щелчка, который поджаривает сообщение.

Когда я нажимаю на верхние 50% кнопки, отображается тост. Но когда я нажимаю на нижние 50% кнопки, ничего не показывается.

здесь код анимации.

<?xml version="1.0" encoding="utf-8"?>
<rotate
 xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="45"
    android:toDegrees="45"
    android:pivotX="50%"
    android:pivotY="50%"
    android:duration="0" android:fillAfter="true">
</rotate>

df

Заранее спасибо .....!

1 Ответ

3 голосов
/ 07 ноября 2011

Я почти уверен, что это ограничение анимации в Android.Они исправили это в версии 3.0 и выше, внедрив новую систему анимации.

Читайте здесь: http://android -developers.blogspot.com / 2011/02 / animation-in-honeycomb.html

"Наконец, предыдущие анимации изменили внешний вид целевых объектов ... но на самом деле они не изменили сами объекты. Возможно, вы столкнулись с этой проблемой. Допустим, вы хотите переместить кнопку изс одной стороны экрана на другую. Для этого можно использовать TranslateAnimation, и кнопка с радостью переместится на другую сторону экрана. А когда анимация закончится, она с радостью вернется в исходное положение.Итак, вы нашли метод setFillAfter (true) в Animation и попробуйте снова. На этот раз кнопка остается на месте в том месте, где она была анимирована. И вы можете проверить это, нажав на нее - Эй! Как получилосьКнопка не нажимает? Проблема в том, что анимация меняется там, где кнопка нарисована, а не там, где кнопка физически существуетХин контейнер.Если вы хотите нажать на кнопку, вам нужно будет щелкнуть местоположение, в котором она жила. Или, как более эффективное решение (и чуть более полезное для ваших пользователей), вам придется написатьваш код, чтобы фактически изменить расположение кнопки в макете, когда анимация заканчивается .

Именно по этим причинам, среди прочего, мы решили предложить новую систему анимации в Honeycomb, построеннуюпо идее «свойство анимации».

...