android - Drawable 对象上的 ObjectAnimator

标签 android android-drawable objectanimator

我想在 Drawable(不是 View)上使用 ObjectAnimator。 假设我有一个 ImageView 和一个 Drawable 作为来源:

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/imageView"
    android:background="@color/myColor"
    android:src="@drawable/myDrawable/>

我想要的是只有 myDrawable 是动画的,而不是例如 ImageView 上设置的背景。

现在,如果我在可绘制对象上应用 ObjectAnimator,则什么也不会发生:

ImageView imageView = (ImageView) findViewById(R.id.imageView);
Drawable myDrawable = imageView.getDrawable();
ObjectAnimator animator = ObjectAnimator.ofFloat(myDrawable, "alpha", 1f, 0f);
animator.setDuration(1000);
animator.start();

为什么?

最佳答案

感谢@pskink 的评论,我弄清楚了问题所在: Drawable 具有作为 int 而不是 float 的 alpha 属性。

ObjectAnimator animator = ObjectAnimator.ofInt(myDrawable, "alpha", 255, 0);

关于android - Drawable 对象上的 ObjectAnimator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36624556/

相关文章:

android - 如何从android手机访问托管在tomcat服务器上的网页

android - 在带有位图的 LayerDrawable 上使用 setLayerInset 会产生意想不到的结果

java - 在 android 中实现推荐技术/应用程序邀请的最佳方式?

安卓工作室 |无法解析现有的可绘制对象

Android Drawable (Progress Bar, Switch) 渲染问题

android - FragmentTransaction with slide in/out animation on >4 performance

java - ObjectAnimator 断断续续的滚动

java - Android 中非 View 对象的动画

android - 具有相同纹理的多个对象

android - google play 应用程序上传失败