如何在android中的文本视图中添加动画

时间:2015-12-04 13:05:32

标签: android animation fadein

我有一个TextView,我正在尝试添加淡入淡出的动画。我的代码正在返回null,我不明白为什么。

这是我的实施

这是fade_in.xml

    <alpha
            xmlns:android="http://schemas.android.com/apk/res/android"    android:fillAfter="true"
            android:duration="1000"
            android:fromAlpha="0.0"
            android:interpolator="@android:anim/accelerate_interpolator"
            android:toAlpha="1.0"/>

以下是如何在相应的活动中使用它

    tv= (TextView)findViewById(R.id.textView);
//-- the below line is returning null
            animation = AnimationUtils.loadAnimation(this,R.anim.fade_in);

            animation.setAnimationListener(new Animation.AnimationListener() {
                @Override
                public void onAnimationStart(Animation animation) {
                tv.setVisibility(View.VISIBLE);
                }

                @Override
                public void onAnimationEnd(Animation animation) {
                    Intent it  = new Intent(SplashActivity.this, MainActivity.class);
                    startActivity(it);
                }

                @Override
                public void onAnimationRepeat(Animation animation) {

                }
            });

            tv.startAnimation(animation);

5 个答案:

答案 0 :(得分:15)

Android TextView Annimation示例

XML

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
      android:fromXScale="1.0"
      android:fromYScale="1.0"
      android:toXScale="2.0"
      android:toYScale="2.0"
      android:duration="3000"></scale>
</set>

代码

private void RunAnimation() 
{
  Animation a = AnimationUtils.loadAnimation(this, R.anim.scale);
  a.reset();
  TextView tv = (TextView) findViewById(R.id.firstTextView);
  tv.clearAnimation();
  tv.startAnimation(a);
}

更多:

http://chiuki.github.io/advanced-android-textview/#/5

http://www.hascode.com/2010/09/playing-around-with-the-android-animation-framework/

答案 1 :(得分:2)

您可以从Android中的AnimationUtils类加载动画,并将其设置为android中的textview。

textview.startAnimation(AnimationUtils.loadAnimation(c, android.R.anim.fade_in));

你可以使用

停止动画
textview.clearAnimation();

答案 2 :(得分:1)

你的textview ID是否正确?首先检查您是否在应用中正确获取了textview ID

答案 3 :(得分:0)

TextView

中需要 setAnimation

示例:

tv.setAnimation( animation ); 

答案 4 :(得分:0)

使用Animator / AnimatorSet动画是遗留代码