我想在循环中的appwidget上使用动画。 我通过xml定义了我的翻译动画,并在'set'上添加了android:repeatMode =“restart”,但没有任何反应,动画运行一次然后停止。根据{{3}},它应该被推下来。
实施例
<set xmlns:android="http://schemas.android.com/apk/res/android" android:repeatMode="restart">
<alpha android:fromAlpha="0" android:toAlpha="1" android:duration="2000" />
</set>
答案 0 :(得分:4)
由于您只使用1个动画,因此无需使用<set>
。集用于多个动画。
试试这个:
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="0"
android:toAlpha="1"
android:duration="2000" />
并在您的活动中:
Animation newsAnim= AnimationUtils.loadAnimation(this, R.anim.news_animation);
newsAnim.reset(); // reset initialization state
newsAnim.setRepeatMode(Animation.RESTART);
newsAnim.setRepeatCount(Animation.INFINITE); // Or a number of times
TextView animatedText = (TextView) findViewById(R.id.lbl_animated);
animatedText.startAnimation(newsAnim);
这将调用您的动画,设置所需的时间/功能。 我注意到使用set循环动画并不像这样容易。
编辑:如果您需要明确使用<set>
,那么您可以执行以下操作:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0%" android:toXDelta="0%"
android:fromYDelta="100%" android:toYDelta="-100%"
android:duration="15000" android:zAdjustment="bottom"
android:repeatMode="restart"
android:repeatCount="-1" />
<scale
android:fromXScale="4" android:toXScale="1"
android:fromYScale="3" android:toYScale="1"
android:pivotX="50%" android:pivotY="50%"
android:duration="15000"
android:repeatMode="restart"
android:repeatCount="-1" />
</set>
注意所有动画的持续时间。如果你想要一致的动画,保持它们相同..
希望这会有所帮助。 你真的,
Nyllian