Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-动画视图的数据绑定_Android_Mvvm_Data Binding - Fatal编程技术网

Android-动画视图的数据绑定

Android-动画视图的数据绑定,android,mvvm,data-binding,Android,Mvvm,Data Binding,在不使用@BindingAdapter注释的情况下,我在为动画视图使用数据绑定时遇到一些问题。我想与Observable类一起使用,这样每次都可以启动动画。我已经尝试过这个代码,但是对视图没有任何效果 public ObservableField<Animation> animation = new ObservableField<>(AnimationUtils.loadAnimation(context, R.anim.box_bounce))

在不使用@BindingAdapter注释的情况下,我在为动画视图使用数据绑定时遇到一些问题。我想与Observable类一起使用,这样每次都可以启动动画。我已经尝试过这个代码,但是对视图没有任何效果

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

有人能帮我吗?

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

XML属性:

android:layoutAnimation="@{viewModel.animation}"
<data>

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

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

我只是这样开始和停止动画
isAnimation.set(true)
isAnimation.set(true)

最后,我找到了这个问题的解决方案。 我不能将可观察类用于动画,但可以将可观察类用于布尔。我只是将true或false设置为开始和停止动画,但我必须使用@BindingAdapter注释

XML属性:

android:layoutAnimation="@{viewModel.animation}"
<data>

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

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

我只是这样开始和停止动画
isAnimation.set(true)
isAnimation.set(true)

您可以只将R.anim.xxx标识符传递给动画自定义绑定器,并将int作为参数。您可以只将R.anim.xxx标识符传递给动画自定义绑定器,并将int作为参数。