web-dev-qa-db-ja.com

androidでテキストビューにアニメーションを追加する方法

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);
17

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/

15
RAP

AnimationUtilsクラスからアニメーションをAndroidで読み込み、Androidのテキストビューに設定できます。

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

アニメーションを停止するには、

textview.clearAnimation();
2
Kanagalingam

あなたのtextview idは正しいですか??まず、アプリでテキストビューIDを正しく取得しているかどうかを確認します

1
Vivek Mishra

Animator/AnimatorSetを使用するAnimationはレガシーコードです

0
Duna

TextViewでsetAnimationが必要です

例:

tv.setAnimation( animation ); 
0
dpulgarin