Android
 Computer >> コンピューター >  >> プログラミング >> Android

AndroidのTextViewでカウントアップアニメーションを実装する方法【サンプルコード付き】

この記事では、AndroidのTextViewで0から100までのカウントアップアニメーションを実装する方法を解説します。Android SDKに標準で含まれるValueAnimatorクラスを使えば、外部ライブラリを追加することなく、簡単に数値カウントアニメーションを実現できます。

手順1:新規プロジェクトを作成する

Android Studioを起動し、File → New Projectを選択して新しいプロジェクトを作成します。アプリ名やパッケージ名などの必要な項目を入力して、プロジェクトを完成させましょう。

手順2:レイアウトファイル(activity_main.xml)を編集する

res/layout/activity_main.xmlに以下のコードを追加します。

<?xml version = "1.0" encoding = "utf-8"?>
<RelativeLayout
   xmlns:android = "https://schemas.android.com/apk/res/android"
   xmlns:tools = "https://schemas.android.com/tools"
   android:layout_width = "match_parent"
   android:gravity = "center"
   android:layout_height = "match_parent">
   <TextView
      android:id = "@+id/text"
      android:textSize = "20dp"
      android:textAlignment = "center"
      android:layout_width = "match_parent"
      android:textColor = "#ff4500"
      android:layout_height = "wrap_content"
      android:singleLine = "true" />
</RelativeLayout>

上記のコードでは、画面中央に配置されたTextViewを1つ定義しています。このTextViewに、0から100までのカウント値が表示されます。文字色はオレンジ系の「#ff4500」に設定されています。

手順3:MainActivity.javaにコードを追加する

src/MainActivity.javaに以下のコードを記述します。

package com.example.andy.myapplication;
import android.animation.ValueAnimator;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      final TextView view = findViewById(R.id.text);
      ValueAnimator animator = new ValueAnimator();
      animator.setObjectValues(0, 100);
      animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
         public void onAnimationUpdate(ValueAnimator animation) {
            view.setText(String.valueOf(animation.getAnimatedValue()));
         }
      });
      animator.setDuration(10000); // アニメーションの継続時間を設定
      animator.start();
   }
}

カウントアニメーションの核となるコード

カウントアニメーションを実現しているのは、以下の部分です。

ValueAnimator animator = new ValueAnimator();
animator.setObjectValues(0, 100);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
   public void onAnimationUpdate(ValueAnimator animation) {
      view.setText(String.valueOf(animation.getAnimatedValue()));
   }
});
animator.setDuration(10000);
animator.start();

上記のコードでは、setObjectValues(0, 100)でアニメーションの開始値と終了値を指定し、setDuration(10000)で継続時間を10秒(10,000ミリ秒)に設定しています。アニメーションが更新されるたびにonAnimationUpdate()が呼び出され、その時点のアニメーション値がTextViewのテキストとして反映される仕組みです。

アプリを実行して動作を確認する

それでは、アプリを実行してみましょう。実機のAndroid端末をパソコンに接続しておいてください。Android Studioでプロジェクト内のアクティビティファイルを開き、ツールバーのRun(実行)アイコンをクリックします。表示された選択肢から自分のモバイルデバイスを選択すると、端末上でアプリが起動します。

AndroidのTextViewでカウントアップアニメーションを実装する方法【サンプルコード付き】


AndroidのTextViewでカウントアップアニメーションを実装する方法【サンプルコード付き】

上記の結果のように、テキストがカウントアニメーションとともに変化し、数字が0から100へとスムーズに増加していく様子を確認できます。durationの値を変更すれば、カウントアップにかかる時間も自由に調整可能です。

  1. AndroidでJSONを解析する方法を徹底解説!初心者向けステップバイステップガイド

    はじめに この記事では、AndroidアプリでJSONデータを解析(パース)する方法を、実際のコード例とともにわかりやすく解説します。JSONはWeb APIなどで広く利用されているデータ形式であり、Android開発においてその扱い方をマスターすることは非常に重要です。 ステップ1:新規プロジェクトの作成 まず、Android Studioで新しいプロジェクトを作成します。メニューから「File」→「New Project」を選択し、必要な項目をすべて入力してプロジェクトを作成しましょう。 ステップ2:レイアウトファイルの作成 次に、res/layout/activity_main.xm

  2. 【Android】TextViewでテキストを両端揃え(ジャスティファイ)表示する方法

    概要 本記事では、AndroidアプリのTextViewに表示するテキストを両端揃え(ジャスティファイ)にする方法を、サンプルコードとともにわかりやすく解説します。 TextViewで両端揃えを実現するには、android:justificationMode=inter_wordを指定するだけです。この機能はAndroid 8.0(APIレベル26)以降で有効になるため、それ以前のOSバージョンでは無視される点に注意してください。 手順1:新規プロジェクトを作成する まず、Android Studioを起動し、メニューから「File」⇒「New Project」を選択します。必要な項目をす