Android tween animation blinks fast and doesn't work

柔情痞子 提交于 2019-12-11 23:43:06

问题


I am trying to make a TextView scale and fade out. My TextView is inside a layout file that is included into my activity's layout with

<include android:id="@+id/hud" layout="@layout/hud" android:layout_alignParentBottom="true"/>

Now, I can apply a scale animation from within the Java code like this:

TextView multiplier = (TextView)findViewById(R.id.hudMultiplier);
ScaleAnimation s = new ScaleAnimation(1.0f, 3.0f, 1.0f,3.0f);
s.setDuration(5000);
multiplier.startAnimation(s);

And it works nicely, but I want that animation (and a bunch of others) from an xml file. So I made this file:

<?xml version="1.0" encoding="utf-8"?>
<set 
    xmlns:android="http://shemas.android.com/apk/res/android" 
    android:shareInterpolator="false">
    <scale
        android:pivotX="50%"
        android:pivotY="100%"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:toXScale="10.0"
        android:toYScale="10.0"
        android:duration="5000"
        android:interpolator="@android:anim/accelerate_decelerate_interpolator" 
    />
    <alpha 
        android:fromAlpha="1.0"
        android:toAlpha="0.1"
        android:duration="2000"
        android:startOffset="2000">
    </alpha>
</set>

I am trying to apply the animation with this code:

TextView multiplier = (TextView)findViewById(R.id.hudMultiplier);
AnimationSet an = (AnimationSet) AnimationUtils.loadAnimation(getApplicationContext(), R.anim.multiplier);
multiplier.startAnimation(an);

What happens now is that the TextView blinks for a fraction of a second and nothing actually happens.

I've tried:

  • removing the alpha animation - no change
  • removing the start offset - no change
  • change the animation with one from the android documentation - no change
  • change AnimationSet to Animation - no change
  • change getApplicationContext() to this, MyActivity.this - no change
  • change getApplicationContext() to null - kills the application

What am I missing?

The project is targeted at Android 1.6 and I'm testing in a 2.3 emulator.


回答1:


This seems to make a difference, for me anyway!

Change shemas to schemas in the Set element.

    <?xml version="1.0" encoding="utf-8"?>
<set 
    xmlns:android="http://shemas.android.com/apk/res/android" 
    android:shareInterpolator="false">



回答2:


try this:

an = AnimationUtils.loadAnimation(this, android.R.anim.fade_out);


来源:https://stackoverflow.com/questions/5497095/android-tween-animation-blinks-fast-and-doesnt-work

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!