在目标类类android.graphics.drawable.BitmapDrawable上找不到类型为int的方法getAlpha()

时间:2014-07-11 05:25:43

标签: android android-animation

我正在尝试将here中的示例与代码here一起使用,将自定义动画设置为GridView

一切正常,直到我尝试使用BitmapDrawable而不是ColorDrawable。

mBackground = getResources().getDrawable(R.drawable.activity_background);
topView.setBackgroundDrawable(mBackground);

如果使用BitmapDrawable,则从主要活动向PictureDetailsActivity向后滑动时,会使主要活动的背景消失。在日志中,当背景消失时,我一直看到这个错误(有时候只有在刷列表时背景消失,下面的错误相同):

Method getAlpha() with type int not found on target class
class android.graphics.drawable.BitmapDrawable

搜索错误我找不到任何相关内容。

编辑: 我正在使用alpha来淡入和淡出背景,例如:

// Fade in the background
ObjectAnimator bgAnim = ObjectAnimator.ofInt(mBackground, "alpha", 0, 255);
bgAnim.setDuration(duration * 2);
bgAnim.start();

// Fade out background
ObjectAnimator bgAnim = ObjectAnimator.ofInt(mBackground, "alpha", 0);
bgAnim.setDuration(duration * 2);
bgAnim.start();

1 个答案:

答案 0 :(得分:2)

您可能正在测试< API19的设备/模拟器,而getAlpha()仅在API19上添加。因此,

Method getAlpha() with type int not found

请确保在安装了最低Android 4.4(KitKat)的目标上进行测试。