GeneXus では、アプリケーションの開発時に、アニメーション (具体的には Lottie アニメーション) を統合できます。
Lottie は Airbnb が作成したアニメーションライブラリです。柔軟性に優れたこのライブラリを利用して、あらゆる種類のアニメーションを作成できます。小さなファイルを使用し、JSON API を提供することで、アニメーションをモバイルアプリケーションに統合できるようにしています。これらの JSON ファイルを使用して、アニメーションを GeneXus のナレッジベースに含めることができます。
Lottie JSON 形式のファイルにエクスポートする機能は、多くのソフトウェア デザイン ツールで提供されています。また、JSON ファイルの多数のアニメーションをダウンロードできるアニメーションリポジトリ (
Lottie ファイルなど) もいくつかあります。
ナレッジベースにアニメーションを追加するには、次の 2 つを行う必要があります。
テーマには「Animations」という名前のクラスカテゴリがあります。ナレッジベースに含める各アニメーションに新しいアニメーションクラスを定義して、 [
Type ] プロパティに "Lottie" と設定し、 [
File ] プロパティに Lottie JSON アニメーションを含むファイルオブジェクトを設定します。
クラスが作成されたら、アニメーションをアプリケーションに含める準備は完了です。
アニメーションをナレッジベースに追加したら、それらをアプリケーションに統合できます。統合方法は 4 つあります。
Animation View ユーザーコントロールを使用すると、アプリケーションのどの画面にもアニメーションを追加できます。このコントロールは、アニメーションの設定と、実行や進行の管理を行うメソッドを提供します。
Event ClientStart
Composite
AnimationView1.SetAnimation(ThemeClass:Birthday, true)
AnimationView1.Play()
EndComposite
Endevent
Event 'PauseAnimation'
AnimationView1.Pause()
EndEvent
Event 'SetProgress'
Composite
&Progress = 0.5
AnimationView1.SetProgress(&Progress)
EndComposite
EndEvent
アニメーションを使用して、オブジェクトのフォームやグリッドのロード処理をカスタマイズできます。つまり、通常のロードで表示される円を、より洗練された Lottie アニメーションに置き換えることができます。
これを行うために、テーマの Form クラスと Grid クラスに
Loading Animation Class という名前のプロパティがあります。このプロパティでは、テーマ内で Lottie ファイルで定義されたアニメーションクラスを使用してアニメーションを設定できます。
アニメーションを使用して
プログレス インジケータ ユーザー コントロールをカスタマイズできます。そのためには、
Progress テーマクラスを作成して、Animation タイプのクラス名をこのクラスの
[ Animation Class ] プロパティに設定します。指定したアニメーションは、
プログレス インジケータ ユーザー コントロールが表示されるときに表示されます。
アプリケーションの起動画面にアニメーションを使用できます。これは、
Theme オブジェクトの
Application クラスのプロパティで設定できます。