ホームページ  >  記事  >  ウェブフロントエンド  >  Androidアニメーションの2つの読み込みと実行方法Animation_html/css_WEB-ITnose

Androidアニメーションの2つの読み込みと実行方法Animation_html/css_WEB-ITnose

WBOY
WBOYオリジナル
2016-06-24 11:39:131524ブラウズ

この記事では、単純な AlphaAnimation (「フェードインとフェードアウト (透明度の変更)」アニメーション) を例として、Android アニメーション アニメーションの 2 つの読み込み方法と実行方法を簡単に説明します:
(1) Java コードを直接記述して Android アニメーションを作成する。
(2) XML設定ファイルを記述し、XMLリソースファイルをロードして実行します。
実際、この 2 つは一貫しています。ご存知のとおり、Android では、XML ファイルで完成できるビューはすべて、コードで完全に記述することもできます。
次に、Java コードで完成したアニメーションを与えてみましょう。 AlphaAnimation は、簡単に言うと、一定時間内にある透明度から別の透明度にビューを変更することができます。 0.0f は完全に透明、1.0f は完全に不透明です。

A. 1 つ目の方法は、Java コードを記述して実装することです。

テストに使用されるメインのアクティビティは非常に単純で、テキストの文字列を表示する TextView が中央に表示されるだけです。TextView は、開始後 3 秒以内に完全に透明から完全に不透明に徐々に変化します。 MainActivity.java:

package zhangphil.animation;import android.app.Activity;import android.os.Bundle;import android.view.animation.AlphaAnimation;import android.view.animation.AnimationSet;import android.widget.TextView;public class MainActivity extends Activity {	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		TextView text = (TextView) findViewById(R.id.text);		// “淡入淡出”动画。		// 0.0f,完全透明,		// 1.0f,完全不透明。		AlphaAnimation alphaAnimation = new AlphaAnimation(0.0f, 1.0f);		alphaAnimation.setDuration(3000);		// 动画集。		AnimationSet animationSet = new AnimationSet(false);		animationSet.addAnimation(alphaAnimation);		// 开始播放动画。		text.startAnimation(animationSet);	}}

MainActivity.java には activity_main.xml レイアウト ファイルが必要です:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent" >    <TextView        android:id="@+id/text"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_centerVertical="true"        android:gravity="center"        android:textSize="30sp"        android:text="Android动画" /></RelativeLayout>

これは、Java コードを記述する最初の方法です。


B. 2 番目の方法は、XML ファイルを作成して実装することです。


XML を記述する 2 番目の方法を紹介します。 MainAvtivity.java:

package zhangphil.animation;import android.app.Activity;import android.os.Bundle;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.TextView;public class MainActivity extends Activity {	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		TextView text = (TextView) findViewById(R.id.text);		// 初始化需要加载的动画资源		Animation animation = AnimationUtils				.loadAnimation(this, R.anim.my_anim);		// 将TextView执行Animation动画		text.startAnimation(animation);	}}


MainActivity.java に必要な activity_main.xml ファイルは、変更を加えることなく上記の A と同じです。

複雑なコード作業は、anim を定義する XML に転送されます。

まず、res/ ディレクトリに anim フォルダーを作成し、その中に Android リソース ファイルを作成する必要があります。名前は my_anim.xml にカスタマイズされているとします。ディレクトリ構造の階層は図に示すとおりです。


2 番目、アニメーションを完了するために必要な制御要素セット コード、my_anim.xml 固有のコード:

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"    android:interpolator="@android:anim/accelerate_interpolator" >    <alpha        android:duration="3000"        android:fromAlpha="0"        android:toAlpha="1.0" />    <!--        透明度控制动画效果 alpha        浮点型值:            fromAlpha 动画起始时透明度            toAlpha   动画结束时透明度            说明:                 0.0表示完全透明                1.0表示完全不透明            以上值取0.0-1.0之间的float数据类型的数字                整数:            duration  动画持续时间            说明:                     时间以毫秒为单位    --></set>


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。