Android - 动画视图的数据绑定

Android - 动画视图的数据绑定

问题描述:

我有一些问题可以在不使用@BindingAdapter注释的情况下使用数据绑定进行动画视图。我想使用Observable类,所以我可以每次都开始动画。我试过这段代码,但对视图没有影响。Android - 动画视图的数据绑定

public ObservableField<Animation> animation = 
      new ObservableField<>(AnimationUtils.loadAnimation(context, R.anim.box_bounce)); 

和XML属性:

android:layoutAnimation="@{viewModel.animation}" 

任何人都可以帮我吗?

最后,我找到了解决这个问题的办法。 我不能使用Observable类来动画,但我可以使用Observable类来布尔。我只是设置true或false来启动和停止动画,但我必须使用@BindingAdapter注释。

XML属性:

<data> 

    <variable 
     name="viewModel" 
     type="com.example.MainViewModel" /> 
</data> 

<ImageView 
... 
animation="@{viewModel.isAnimation}" 
... /> 

视图模型类:

public ObservableBoolean isAnimation=new ObservableBoolean(false); 

@BindingAdapter("animation") 
public static void setAnimation(ImageButton view, boolean isAnimation) { 
    if (isAnimation) { 
     Animation animation = AnimationUtils.loadAnimation(view.getContext(), R.anim.box_bounce); 
     animation.setRepeatMode(Animation.INFINITE); 
     view.startAnimation(animation); 
    } 
} 

,我刚开始和停止动画这样isAnimation.set(true);isAnimation.set(true);

+0

你可以只通过该R.anim.xxx标识符添加到动画自定义绑定并期望int作为参数。 –