gpt4 book ai didi

java - AnimatedVectorDrawable 抛出 UnsupportedOperationException

转载 作者:行者123 更新时间:2023-12-01 20:19:26 29 4
gpt4 key购买 nike

如果有人点击,我想为可绘制对象制作动画。开始绘制是一个指向底部的箭头。单击后,它将变为指向顶部的箭头。

我的 xml 文件

anim_down_to_top.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">
<objectAnimator
android:duration="1000"
android:propertyName="downToUp"
android:valueFrom="M7.41,7.84L12,12.42l4.59,-4.58L18,9.25l-6,6 -6,-6z"
android:valueTo="M7.41,15.41L12,10.83l4.59,4.58L18,14l-6,-6 -6,6z"
android:valueType="pathType"/>

animated_vector.xml

<animated-vector xmlns:android="http://schemas.android.com/apk/res/android" 
android:drawable="@drawable/ic_keyboard_arrow_down_black_24dp">
<target
android:animation="@animator/anim_down_to_up"
android:name="down"/>
</animated-vector>

ic_keyboard_arrow_down_black_24dp.xml

<vector android:height="24dp" 
android:tint="#05164D"
android:viewportHeight="24.0"
android:viewportWidth="24.0"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<path android:name="down"
android:fillColor="#FF000000"
android:pathData="M7.41,7.84L12,12.42l4.59,-4.58L18,9.25l-6,6 -6,-6z"/>
</vector>

和布局 xml

<androidx.appcompat.widget.AppCompatImageButton
android:id="@+id/expandDepButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/animated_vector"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />

要启动动画,代码如下

AppCompatImageButton expandDepField = view.findViewById(R.id.expandDepButton);

expandDepField.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AppCompatImageButton btn = (AppCompatImageButton) v;
AnimatedVectorDrawable anim = (AnimatedVectorDrawable) btn.getDrawable();

anim.start();

}
});

但我收到以下异常

java.lang.UnsupportedOperationException: Unsupported type: class android.util.PathParser$PathData. Only float, int or PathData value is supported for Paths.

请帮帮我,我做错了什么?

编辑:问题已解决同时我解决了这个问题。我错过了将 anim_down_to_top.xml 中的属性名称设置为“pathData”,如下所示

android:propertyName="pathData"

最佳答案

使用这个:

app:srcCompat="@drawable/animated_vector"

而不是:

android:src="@drawable/animated_vector"

关于java - AnimatedVectorDrawable 抛出 UnsupportedOperationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58943324/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com