Как увеличить размеры лотереи "LottieAnimationView"?

Я использую Лотти для анимации. Проблема в том, что размеры лотереи слишком малы. Есть ли способ настроить размеры в лотерее?

6 ответов

Я попробовал ответить @Sijansd, однако LottieComposition.Factoryустарел. Поэтому я подумал попробовать масштабировать вид. Вот что я сделал, чтобы все заработало. (Проверено и 100% работает)

android:scaleType="fitXY"

Итак, окончательный код выглядит так

<com.airbnb.lottie.LottieAnimationView
            android:id="@+id/lottie_view"
            android:layout_width="200dp"
            android:scaleType="fitXY"
            android:layout_height="30dp"
            android:layout_gravity="center"
            app:lottie_autoPlay="true"
            app:lottie_fileName="animation.json"
            app:lottie_loop="true" />

Попробуйте использовать animation.setScale (0.4f);

0.1f самый маленький.

Я знаю, что это старый поток, но у меня была такая же проблема, когда анимация Lottie казалась слишком маленькой. Простой ответ - определить "Масштаб" в формах:AnimationView. Масштаб ="1" - исходный размер. Использование "2", "3" или так далее увеличивает масштаб. И наоборот, "0,5" или что-то еще уменьшает его. Надеюсь, это кому-то поможет.

<ContentPage.Content>

    <forms:AnimationView Scale="5"
        x:Name="animationView"
        Grid.Row="1"
        Animation="lottieAnimation.json"
        Loop="true"
        AutoPlay="true"         
        VerticalOptions="FillAndExpand"
        HorizontalOptions="FillAndExpand" />

</ContentPage.Content>

** центральная обрезка и набивка отлично работают со мной **

       scaleType="centerCrop"
 android:padding="@dimen/_12sdp"

вы также можете использовать блок sdp для поддержки многомерных

         <com.airbnb.lottie.LottieAnimationView
        android:id="@+id/rate_bar_home"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:scaleType="centerCrop"
        android:layout_gravity="center"
        app:lottie_loop="true"
        android:padding="@dimen/_12sdp"
        android:layout_marginStart="@dimen/_12sdp"
        android:layout_marginEnd="@dimen/_10sdp"
        app:lottie_autoPlay="true"
        app:lottie_rawRes="@raw/rate" />

Для версии лотереи < 5.0 вы можете использоватьlottie_scaleатрибут. Для версии выше 5.0 это устарело

Используя "LottieDrawable" и "LottieComposition", вы можете легко устанавливать размеры. Сильфонный код работает на 100% для меня.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">

<com.airbnb.lottie.LottieAnimationView
android:id="@+id/animation_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:lottie_loop="true"
app:lottie_autoPlay="true"/>

</LinearLayout>

и Java часть

LottieAnimationView animationView = findViewById(R.id.animation_view);

LottieDrawable drawable = new LottieDrawable();

LottieComposition.Factory.fromAssetFileName(this, "anim_1.json",(composition -> 
{
    drawable.setComposition(composition);
    drawable.playAnimation();
    drawable.setScale(3);
    animationView.setImageDrawable(drawable);

}));
Другие вопросы по тегам