未在Android Matchparent中设置Lottie动画宽度

时间:2019-06-04 20:50:30

标签: android width lottie

enter image description here

您好,我正在使用此Lottie动画https://lottiefiles.com/117-progress-bar。当我说与父母配对时,这就是我所看到的。我需要增加宽度。我该如何实现?

  <LinearLayout
        android:layout_weight="0.5"
        android:layout_height="0dp"
        android:layout_width="match_parent"
        android:background="@android:color/holo_red_dark"
        android:orientation="vertical">


    <com.airbnb.lottie.LottieAnimationView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:lottie_autoPlay="true"
        app:lottie_loop="true"
        app:lottie_fileName="progress_bar.json"
        android:visibility="visible"/>

    <TextView
        android:id="@+id/transmitting"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="10dp"
        android:background="@android:color/white"
        android:fontFamily="@font/open_sans_semibold"
        android:text="Transmitting..."
        android:textAlignment="center"
        android:textSize="15dp"
        android:visibility="invisible"
        />

    </LinearLayout>

1 个答案:

答案 0 :(得分:1)

有时,创建的Lottie动画不会填充完整的视口。您必须在layout_width中手动给出layout_heightdp,或根据需要缩放可绘制对象。您无法更改提供的.json文件中的尺寸,因为所有属性值均相对于原始尺寸。

您可以尝试以下代码在Drawable内缩放LottieAnimationView

LottieAnimationView animationView = findViewById(R.id.your_view_id);
LottieDrawable drawable = new LottieDrawable();
LottieComposition.Factory.fromAssetFileName(this, "progress_bar.json",(composition -> 
{
    drawable.setComposition(composition);
    drawable.playAnimation();
    drawable.setScale(4);
    animationView.setImageDrawable(drawable);

}));

如果使用上述代码动态添加动画,请不要忘记从app:lottie_fileName中删除LottieAnimationView标签。