ホームページ >ウェブフロントエンド >htmlチュートリアル >Android アニメーションの概要 カスタム アニメーション anime_html/css_WEB-ITnose

Android アニメーションの概要 カスタム アニメーション anime_html/css_WEB-ITnose

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

昨日はアニメーションの基本的な使い方を紹介しました。皆さんはどう理解しますか?アニメーションについてまだ学習していない場合は、このブログを読むことができます

Android アニメーションの紹介 -- アニメーションはアニメーション効果の読み込みを実装します

Android に組み込まれている 4 つのアニメーションは、AnimationSet を使用して組み合わせることができますが、これらの組み合わせは多くの場合、特定の機会だけでは不十分です。ビューと同様に、アニメーション効果をカスタマイズできます。

今日作成したいエフェクトは、QQ の揺れエフェクトを模倣することです。原則として、最初に今日のレンダリングを見てみましょう:


カスタム アニメーションの実装方法は、Animation クラスを継承して書き換えます。 applyTransformation() メソッド

public class CustomAnimation extends Animation {    @Override    protected void applyTransformation(float interpolatedTime, Transformation t) {        t.getMatrix().setTranslate((float)Math.sin(interpolatedTime*50)*20,0);        super.applyTransformation(interpolatedTime, t);    }}

applyTransformation() メソッドには 2 つのパラメーターがあることがわかります。最初のパラメーター interpolatedTime は 0 から 1 に徐々に増加する浮動小数点数を表し、t はビューに必要な変更を表します。 t.setAlpha(); t.setTranslate( ); 名前が示すように、これら 2 つのメソッドは透明度の変更とディスプレイスメントの変更です。

それで、今日の目標は、揺れの効果を実現することです。アイデアは次のとおりです。最初にビューを左に移動し、次に右に移動します。 座標は (0-n,0) --->(0+n,n) です。1 つの正と 1 つの負の変更には、三角関数を使用する必要があります。ここでは t.setTranslate(Math.sin()) とします。

これで基本的にカスタム アニメーションが完成します。次に、MainActivity の下の現在のレイアウトを取得し、それにアニメーション効果を追加します


以上です!私のブログが気に入ったら、いいねしてください

ソースコードダウンロード

著作権表示: この記事はブロガーによるオリジナル記事です。出典を明記した上で転載していただいて結構です。

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