検索
ホームページウェブフロントエンドhtmlチュートリアルAndroidアニメーションアニメーションの詳しい解説(2):組み合わせアニメーション特殊効果_html/css_WEB-ITnose

はじめに

前回のブログ Android アニメーションのアニメーション詳細説明 (1): トゥイーン アニメーション Android のトゥイーン アニメーションの 4 つの形式を紹介しましたが、このブログを読んだ兄弟なら一緒に理解できると思います。まだ理解していない場合は、リンクをクリックして勉強してから、簡単なアニメーション効果を組み合わせてクールなアニメーション効果を作成する方法を学びに来てください。


1. アニメーションの続き

タイトルにあるように、考えてみてください。ページに多くのアニメーションが含まれている場合、これらのアニメーションは順番に再生される必要があります。つまり、1 つのアニメーションが再生された後、別のアニメーションが継続して再生されます。これらのアニメーションに一貫性があるように再生されます。これを達成するにはどうすればよいでしょうか? 開発経験や論理的思考を持っている人は、このアニメーションの再生が終了したら、別のアニメーションを再生することを検討すると思います。

おめでとうございます、あなたと私は同じことを考えています。

この種のアニメーションの再生を通じて監視する方法を見てみましょう:

rreee
コメントをかなり詳しく書きましたが、この方法は非常に簡単であると言えます。特に言うことはありません。


上記で紹介したアニメーション再生の終了を監視するリスナーの使用に加えて、より簡単な方法があり、最初にお勧めします。それがアニメーション セットです。

ここでは、アニメーション属性 startOffset を導入します。 それの使い方?アニメーションを定義するコードを見てください:

 private void continueAnim(){        // 先加载第一个动画        Animation translate = AnimationUtils.loadAnimation(getActivity(), R.anim.translate_animation);        // 在加载第二个动画        final Animation scale = AnimationUtils.loadAnimation(getActivity(), R.anim.scale_animation);        // 接下来,我们队第一个动画进行监听,当它播放完成后,我们播放第二个动画        translate.setAnimationListener(new Animation.AnimationListener() {            @Override            public void onAnimationStart(Animation animation) {            }            @Override            public void onAnimationEnd(Animation animation) {                imgView.startAnimation(scale);            }            @Override            public void onAnimationRepeat(Animation animation) {            }        });        imgView.startAnimation(translate);    }

translation によって定義されたアニメーションを詳しく見てください。この属性の値は、実際にはアルファ アニメーションの継続時間の値です。これは 3 秒の遅延を意味します。実際には、最初のアルファ アニメーションが完了した後に再生されます。

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" android:fillafter="true" android:fillenabled="true">    <alpha android:fromalpha="0" android:toalpha="1" android:duration="3000"></alpha>    <translate android:duration="1000" android:fromxdelta="0" android:fromydelta="0" android:toxdelta="100" android:toydelta="100" android:startoffset="3000"></translate></set>

さて、これを書いた後、実行中のエフェクトを見てみましょう:



2. アニメーションの再生

アニメーションの再生 (Siyi という名前の由来) は、アニメーションを繰り返し再生することです。上のアニメーション gif を見てください。実際にアニメーションが繰り返し再生されます。では、Android はどのようにしてアニメーションを繰り返し再生するのでしょうか?

Android 自体がアニメーションを定義するための 2 つの属性、repeatCount とrepeatMode を提供しているため、実際には非常に簡単です。これら 2 つの属性をアニメーションに設定するだけで問題ありません。

記憶を容易にするために、コードを見てみましょう:

Animation continueAnim = AnimationUtils.loadAnimation(getActivity(), R.anim.continue_animation);imgView.startAnimation(continueAnim);

ここでは、repeatCount を 5 に指定すると、アニメーションは 5 回再生され、repeatMode が "restart" の場合、アニメーションは次のようになります。毎回繰り返し再生されます。 repeatMode には、アニメーションを逆再生することを意味する「reverse」という値もあります。 効果を見てみましょう。


3. アクティビティ切り替えアニメーション

アクティビティ切り替えアニメーションと言えば、例えば淘宝網や美団などをプレイすると、スライドでページ切り替えが入力されることがわかると思います。はい、これは実際にはアクティビティ切り替えアニメーションのアプリケーションです。最初は難しいと思うかもしれませんが、私が言いたいのは、アニメーション (特にトゥイーン アニメーション) の定義方法をすでに知っている場合は、次の方法を理解するだけでよいということです。 overridePendingTransition は可能です。

まずこのメソッドの定義を見てみましょう:

    <translate android:duration="1000" android:fromxdelta="0" android:fromydelta="0" android:toxdelta="100" android:toydelta="100" android:repeatcount="5" android:repeatmode="restart"></translate>
最初のパラメータ enterAnim は、開始される新しいアクティビティが開始されるときのアニメーションです。 2 番目のパラメータ exitAnim は、実際には元のアクティビティが終了するときのアニメーションを参照します。効果。

次に、2 つのアニメーション リソースを定義しましょう: fade_in.xml とhold_out.xml

/**     * @param enterAnim A resource ID of the animation resource to use for     * the incoming activity.  Use 0 for no animation.     * @param exitAnim A resource ID of the animation resource to use for     * the outgoing activity.  Use 0 for no animation.     */    public void overridePendingTransition(int enterAnim, int exitAnim) {        try {            ActivityManagerNative.getDefault().overridePendingTransition(                    mToken, getPackageName(), enterAnim, exitAnim);        } catch (RemoteException e) {        }    }
<?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:fromalpha="0.2" android:toalpha="1.0" android:duration="1000"></alpha></set>

アニメーションを定義したら、新しいアクティビティを開始するとき、またはアクティビティを終了するときに、overridePendingTransition メソッドをオーバーライドし、Just を渡すだけです。アニメーションを追加します:

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">    <translate android:fromxdelta="0%p" android:toxdelta="100%p" android:duration="1000"></translate></set>

または:

Intent intent = new Intent(getActivity(),SecondActivity.class);startActivity(intent);overridePendingTransition(R.anim.fade_in,R.anim.hold_out);
そして効果を見てください:


叫ばれたことがありますか、それはとても簡単であることがわかりました! 急いで自分で試してみてください。


フォローしてください:

実際、複雑なアニメーションは、これらのアニメーションを 1 つのステップで明確に分析して統合するだけです。段階的にロックを解除できます。

その後、開発プロセスで使用した 2 つのアニメーションを紹介するブログをさらに 2 つ書きます。もちろん、それらは経験を共有するだけです。ご期待ください。


ソース コードのダウンロード アドレス (無料): http://download.csdn.net/detail/zuiwuyuan/9047739

著作権表示: この記事はブロガーによるオリジナルの記事であり、許可なく複製することはできません。ブロガーの許可。

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

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。HTMLはコンテンツ構造を担当し、CSSはスタイルを担当し、JavaScriptは動的な動作を担当します。 1。HTMLは、セマンティクスを確保するためにタグを使用してWebページの構造とコンテンツを定義します。 2。CSSは、セレクターと属性を介してWebページスタイルを制御して、美しく読みやすくします。 3。JavaScriptは、動的でインタラクティブな関数を実現するために、スクリプトを通じてWebページの動作を制御します。

HTML:それはプログラミング言語か何か他のものですか?HTML:それはプログラミング言語か何か他のものですか?Apr 15, 2025 am 12:13 AM

htmlisnotaprogramminglanguage; itisamarkuplanguage.1)htmlStructuresandformatswebcontentusingtags.2)ItworkswithcsssssssssdjavascriptforInteractivity、強化を促進します。

HTML:Webページの構造の構築HTML:Webページの構造の構築Apr 14, 2025 am 12:14 AM

HTMLは、Webページ構造の構築の基礎です。 1。HTMLは、コンテンツ構造とセマンティクス、および使用などを定義します。タグ。 2. SEO効果を改善するために、などのセマンティックマーカーを提供します。 3.タグを介したユーザーの相互作用を実現するには、フォーム検証に注意してください。 4. JavaScriptと組み合わせて、動的効果を実現するなどの高度な要素を使用します。 5.一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれ、検証ツールが必要です。 6.最適化戦略には、HTTP要求の削減、HTMLの圧縮、セマンティックタグの使用などが含まれます。

テキストからウェブサイトへ:HTMLの力テキストからウェブサイトへ:HTMLの力Apr 13, 2025 am 12:07 AM

HTMLは、Webページを構築するために使用される言語であり、タグと属性を使用してWebページの構造とコンテンツを定義します。 1)htmlは、などのタグを介してドキュメント構造を整理します。 2)ブラウザはHTMLを分析してDOMを構築し、Webページをレンダリングします。 3)マルチメディア関数を強化するなど、HTML5の新機能。 4)一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれます。 5)最適化の提案には、セマンティックタグの使用とファイルサイズの削減が含まれます。

HTML、CSS、およびJavaScriptの理解:初心者向けガイドHTML、CSS、およびJavaScriptの理解:初心者向けガイドApr 12, 2025 am 12:02 AM

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

HTMLの役割:Webコンテンツの構造HTMLの役割:Webコンテンツの構造Apr 11, 2025 am 12:12 AM

HTMLの役割は、タグと属性を使用してWebページの構造とコンテンツを定義することです。 1。HTMLは、読みやすく理解しやすいようなタグを介してコンテンツを整理します。 2。アクセシビリティとSEOを強化するには、セマンティックタグなどを使用します。 3. HTMLコードの最適化により、Webページの読み込み速度とユーザーエクスペリエンスが向上する可能性があります。

HTMLとコード:用語を詳しく見るHTMLとコード:用語を詳しく見るApr 10, 2025 am 09:28 AM

htmlisaspecifictypeofcodefocuseduructuringwebcontent

HTML、CSS、およびJavaScript:Web開発者に不可欠なツールHTML、CSS、およびJavaScript:Web開発者に不可欠なツールApr 09, 2025 am 12:12 AM

HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境