我有按钮,我使用旋转动画旋转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>
提前致谢.....!
答案 0 :(得分:3)
我很确定这是Android中动画的限制。他们通过实施新的动画系统在3.0以后修复了它。
在这里阅读: http://android-developers.blogspot.com/2011/02/animation-in-honeycomb.html
“最后,之前的动画改变了目标对象的视觉外观......但它们实际上并没有改变对象本身。你可能遇到过这个问题。假设你想从一侧移动一个Button屏幕到另一个。你可以使用TranslateAnimation这样做,按钮会很快地滑动到屏幕的另一边。当动画完成后,它会很乐意重新回到原来的位置。所以你在动画上找到setFillAfter(true)方法并再次尝试。这次按钮保持在动画的位置。你可以通过点击它来验证它 - 嘿!按钮怎么来的点击?问题是动画会改变按钮的绘制位置,但不会改变按钮在容器中的实际存在位置。如果要点击按钮,你必须点击它曾经居住过的位置in。或者,作为一种更有效的解决方案(而且只是一个更有用的解决方案对于您的用户而言,您必须编写代码以在动画完成时实际更改布局中按钮的位置。
出于这些原因,我们决定在Honeycomb中提供一个新的动画系统,一个建立在“属性动画”的基础上。