Каков предпочтительный способ взаимодействия с файлами Lottie в приложении .NET MAUI?

Я хотел бы реализовать анимированную кнопку «Воспроизведение/Пауза» в своем потоковом приложении .NET MAUI.

Для этого я подумал, что могу использовать файл лотереи.

Я могу использовать SkiaSharp.Extended.UI.Maui для загрузки и анимации файла лотереи.

Однако сам элемент управления не предлагает никаких взаимодействий, таких как команды или обработчик событий OnClick.

Может быть, я слепой, но каков предпочтительный способ преобразования этого «статического» элемента управления во что-то, с чем могут взаимодействовать мои пользователи?

Animista - анимация на ходу!
Animista - анимация на ходу!
Если вы веб-дизайнер или разработчик, вы знаете, что добавление анимации на ваш сайт может помочь сделать его более привлекательным и динамичным....
Повысьте уровень своего сайта с помощью анимации CSS и JavaScript: Пошаговое руководство
Повысьте уровень своего сайта с помощью анимации CSS и JavaScript: Пошаговое руководство
Если вы хотите добавить визуальный интерес к своему сайту, то внедрение анимации с помощью CSS и JavaScript может стать отличным способом сделать это....
1
0
334
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы хотите обеспечить некоторые взаимодействия, я подумал, что вы могли бы добавить некоторые жесты на SKLottieView.

В файле .xaml

<skia:SKLottieView
    x:Name = "myanimatedview"
    Source = "dotnetbot.json"
    HeightRequest = "300"
    WidthRequest = "300"
    RepeatCount = "-1">              
    <skia:SKLottieView.GestureRecognizers>
          <TapGestureRecognizer Tapped = "TapGestureRecognizer_Tapped"/>
    </skia:SKLottieView.GestureRecognizers>
</skia:SKLottieView>

В файле .cs реализуйте обработчик событий.

void TapGestureRecognizer_Tapped(System.Object sender, System.EventArgs e)
{
    Console.WriteLine("hello"); // do whatever you want here
    myanimatedview.IsAnimationEnabled = !myanimatedview.IsAnimationEnabled;
}

Вы можете добавить различные жесты, такие как сжатие, панорамирование, пролистывание и т. д., для взаимодействия с пользователями. Для получения дополнительной информации вы можете обратиться к жестам Xamarin.Forms.

Надеюсь, это сработает для вас.

Ух ты. Сумасшедший. Это в основном то, что я пробовал сегодня вечером, и меня отвлек тот факт, что моя Visual Studio не предлагала .GestureRecognizer в качестве расширения для skia:SKLottieView. Поэтому я подумал, что это представление может не происходить из чего-то, что допускает это расширение. Затем я поместил StackLayout в качестве оболочки вокруг SKLottieView и расширил его с помощью Recognizer, и это сработало. Однако теперь я попробовал ваше решение, и оно волшебным образом работает. Так что спасибо!!

Mephisztoe 28.11.2022 07:27

Как мне указать путь к активам, т.е. откуда загружать изображения png, указанные в файле data.json?

Amir Hajiha 14.04.2023 15:02

Другие вопросы по теме