我想在按钮内放置一个微小的动画,这个动画是以JSON格式制作的,并且是使用After Effect制作的。通常情况下,这种类型的动画可以使用Lottie插件进行编译和使用,但现在我想将这个动画放在按钮内,而不是使用常规的圆形进度条。
我想在按钮内放置一个微小的动画,这个动画是以JSON格式制作的,并且是使用After Effect制作的。通常情况下,这种类型的动画可以使用Lottie插件进行编译和使用,但现在我想将这个动画放在按钮内,而不是使用常规的圆形进度条。
为此,您需要创建一个自定义视图,其外观与按钮相同,并将事件绑定到该视图,使用XML将自定义背景设置为视图,并包含动画(airbnb lottie库中的代码)。如果仍然不满意,则更具体地评论您想要使用按钮实现的不可能使用上述方法实现的事情。
你需要像使用按钮一样使用 LottieAnimation。
lt_loading_view = (LottieAnimationView) findViewById(R.id.lt_loading_view);
lt_loading_view.setAnimation("loading.json");
lt_loading_view.loop(true);
lt_loading_view.playAnimation();
lt_loading_view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Your code
lt_loading_view.pauseAnimation();
}
});
将背景用作按钮
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/lt_loading_view"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@color/colorPrimary"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"/>
你可以将按钮的背景设置为相同的背景