Xamarin Formsは、アニメーションまたはイベントが終了するのを待ちます

マイクH

そのため、別のアクションが発生する前に、ボタンにアニメーションを実行させようとしています。しかし、私がそれをどのように設定したかは奇妙です。

以下に示すように、アニメーションを実行するClick + = AnimatedButton_Clickedハンドラーを追加するAnimatedButtonというサブクラス化されたボタンがあります。

    using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;

namespace TransactionApp_2.Views.UITools.Buttons
{
    class AnimatedButton : Button
    {
        /// <summary>
        /// Generic Animated Button Subclass that allows for:
        /// Button indexing,
        /// Simple sleek animations,
        /// Sets initial properties and parameters,
        /// allows easy background images
        /// </summary>

        public int ButtonIndex { get; set; }
        public AnimatedButton(string buttonText, ImageSource backgroundImage = null, int buttonIndex = 0)
        {
            ButtonIndex = buttonIndex;
            Text = buttonText;
            FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label));
            Opacity = 0.95;
            Margin = new Thickness(8,0,8,0);

            Clicked += AnimatedButton_Clicked;

            if (backgroundImage != null)
            {
                //Set Background Image
            }

        }
        private async void AnimatedButton_Clicked(object sender, EventArgs e)
        {

            //Obsolete version of OnPlatform
#pragma warning disable CS0618 // Type or member is obsolete
            var platformSpecific = Device.OnPlatform<uint>(50, 50, 25); //Whats the new version of this??
#pragma warning restore CS0618 // Type or member is obsolete

            //Simple Animations
            await this.ScaleTo(0.85, platformSpecific, Easing.SinIn);


     await this.FadeTo(0.8, platformSpecific, Easing.SinOut);
        await this.FadeTo(0.95, platformSpecific, Easing.SinIn);
        await this.ScaleTo(1, platformSpecific, Easing.SinOut);
    }
}

}

UIバックエンドコードに、以下に示すようにUIのグリッドを更新する新しいクリックイベントも追加します。

            for (int i = 0; i < count; i++)
        {

            grid.RowDefinitions.Add(rowCollection[i]);
            AnimatedButton button = new AnimatedButton(menuOptions.ItemDataList[i].TitleText) { ButtonIndex = i+1};
            button.Clicked += (s, e) =>
            {
                        RefreshGrid(button.ButtonIndex);
            };
            grid.Children.Add(button, 0, i + 1);
        }

明らかに、ボタンが押されたときに2つのイベントが両方とも正確に同時に実行され、アニメーションが終了する前にグリッドが更新されます。このタイプのセットアップを使用して、サブクラスのアニメーションが終了するまでRefreshGrid()呼び出しを待機させるにはどうすればよいですか?私はこの問題を処理するためにスレッドを使用しようとしていますが、運がありません。

RefreshGrid()が呼び出される前に、イベントまたはアニメーションが終了するのを待つ方法があるか、スレッドをより適切に使用する方法があるのではないかと考えています。

ありがとう!

ayberkzeray

アニメーションと同じだけ遅延を追加します。

await grid1.TranslateTo(-100, 0, 300);
await Task.Delay(300);

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Xamarin.formsでNavigation.PushAsyncを呼び出すときに遷移アニメーションが終了するのを待つ方法

分類Dev

Xamarin.Formsで接続されたアニメーションを実装する方法は?

分類Dev

Xamarinフォームボタンが3秒間押されたイベントは、アクションを実行するか、何も実行しません

分類Dev

Xamarin iOSでアプリが強制終了されたときにイベントFirebaseを処理する方法、またはユーザーがボタンを押して通知をクリアしたときにイベントを処理する方法は?

分類Dev

Xamarin.Forms-ボタンアニメーションUWPを無効にする

分類Dev

iocを使用すると、5つのタブ付き画面を備えたXamarin Formsアプリケーションに本当に役立ちますか?

分類Dev

ChildAddedイベントハンドラーでXamarinフォームアニメーションをずらすにはどうすればよいですか?

分類Dev

Xamarin.Forms UWP-このアプリを展開するには、展開ターゲットでWindowsユニバーサルランタイムバージョン10.0.16299.0以降が実行されている必要があります

分類Dev

Xamarin.Formsでアプリケーションをナビゲートまたは閉じるときに、アプリケーションの状態を保存するにはどうすればよいですか?

分類Dev

Xamarin.Forms.Skeleton-プラグインのアニメーションとBackgroundColorが表示されない理由は何ですか?

分類Dev

Xamarin Formsは、下部のナビゲーション領域で使用するpngアイコンの色をどのように変更しますか?

分類Dev

Xamarin Forms Shellは、ナビゲーションバーを削除しても、ハンバーガーアイコンを保持する方法はありますか?

分類Dev

Xamarin.Forms Previewer-Androidアプリケーションプロジェクトは、プレビューアでレンダリングするために、このxamlファイルを含むプロジェクトを参照する必要があります

分類Dev

Xamarinはlottieアニメーションでスプラッシュ画面を形成します

分類Dev

Xamarin.Forms-2つのものを同時にアニメーション化する(プッシュアニメーション)

分類Dev

アニメーションにXamarin.Forms.Core.AnimationでTranslateToを使用しますか?

分類Dev

Xamarin Forms-C#で画像ソースの変更をアニメーション化する

分類Dev

でアニメーション化する前に、Xamarin.FormsContentViewの高さを取得します

分類Dev

Xamarin.formsは、ナビゲーションバーの色を変更する方法を示します

分類Dev

Xamarin.IoTアプリケーションをデバッグするには、Raspbianに何をインストールする必要がありますか?

分類Dev

xamarin.forms iosのナビゲーションバーのタイトルアイコンを変更するにはどうすればよいですか?

分類Dev

hockeyappは、xamarin.formsアプリケーションのUWPで例外をスローします

分類Dev

Xamarin.Formsクロスプラットフォームアプリケーションを作成するときに、「このプロジェクトをロードするにはVisualStudioの更新が必要です」というエラーが表示されます

分類Dev

Xamarin.Formsはアプリケーションの背景色を変更します

分類Dev

Xamarin.Forms.Switchは、値が更新されるとToggledイベントを送信します

分類Dev

Xamarin.Formsローカリゼーションは常にデフォルトの言語を返します

分類Dev

xamarin ナビゲーターのアニメーションを変更する

分類Dev

コマンドラインまたはビルドスクリプトからXamarin.Macアプリケーションをビルドする方法

分類Dev

xamarin形式のアクションバーを削除する方法は?

Related 関連記事

  1. 1

    Xamarin.formsでNavigation.PushAsyncを呼び出すときに遷移アニメーションが終了するのを待つ方法

  2. 2

    Xamarin.Formsで接続されたアニメーションを実装する方法は?

  3. 3

    Xamarinフォームボタンが3秒間押されたイベントは、アクションを実行するか、何も実行しません

  4. 4

    Xamarin iOSでアプリが強制終了されたときにイベントFirebaseを処理する方法、またはユーザーがボタンを押して通知をクリアしたときにイベントを処理する方法は?

  5. 5

    Xamarin.Forms-ボタンアニメーションUWPを無効にする

  6. 6

    iocを使用すると、5つのタブ付き画面を備えたXamarin Formsアプリケーションに本当に役立ちますか?

  7. 7

    ChildAddedイベントハンドラーでXamarinフォームアニメーションをずらすにはどうすればよいですか?

  8. 8

    Xamarin.Forms UWP-このアプリを展開するには、展開ターゲットでWindowsユニバーサルランタイムバージョン10.0.16299.0以降が実行されている必要があります

  9. 9

    Xamarin.Formsでアプリケーションをナビゲートまたは閉じるときに、アプリケーションの状態を保存するにはどうすればよいですか?

  10. 10

    Xamarin.Forms.Skeleton-プラグインのアニメーションとBackgroundColorが表示されない理由は何ですか?

  11. 11

    Xamarin Formsは、下部のナビゲーション領域で使用するpngアイコンの色をどのように変更しますか?

  12. 12

    Xamarin Forms Shellは、ナビゲーションバーを削除しても、ハンバーガーアイコンを保持する方法はありますか?

  13. 13

    Xamarin.Forms Previewer-Androidアプリケーションプロジェクトは、プレビューアでレンダリングするために、このxamlファイルを含むプロジェクトを参照する必要があります

  14. 14

    Xamarinはlottieアニメーションでスプラッシュ画面を形成します

  15. 15

    Xamarin.Forms-2つのものを同時にアニメーション化する(プッシュアニメーション)

  16. 16

    アニメーションにXamarin.Forms.Core.AnimationでTranslateToを使用しますか?

  17. 17

    Xamarin Forms-C#で画像ソースの変更をアニメーション化する

  18. 18

    でアニメーション化する前に、Xamarin.FormsContentViewの高さを取得します

  19. 19

    Xamarin.formsは、ナビゲーションバーの色を変更する方法を示します

  20. 20

    Xamarin.IoTアプリケーションをデバッグするには、Raspbianに何をインストールする必要がありますか?

  21. 21

    xamarin.forms iosのナビゲーションバーのタイトルアイコンを変更するにはどうすればよいですか?

  22. 22

    hockeyappは、xamarin.formsアプリケーションのUWPで例外をスローします

  23. 23

    Xamarin.Formsクロスプラットフォームアプリケーションを作成するときに、「このプロジェクトをロードするにはVisualStudioの更新が必要です」というエラーが表示されます

  24. 24

    Xamarin.Formsはアプリケーションの背景色を変更します

  25. 25

    Xamarin.Forms.Switchは、値が更新されるとToggledイベントを送信します

  26. 26

    Xamarin.Formsローカリゼーションは常にデフォルトの言語を返します

  27. 27

    xamarin ナビゲーターのアニメーションを変更する

  28. 28

    コマンドラインまたはビルドスクリプトからXamarin.Macアプリケーションをビルドする方法

  29. 29

    xamarin形式のアクションバーを削除する方法は?

ホットタグ

アーカイブ