【发布时间】:2015-09-27 21:58:50
【问题描述】:
我正在尝试将RippleDrawable 设置为列表视图行的背景。
使用 view.setBackgroundResource(R.drawable.ripple) 时一切正常。
尝试时
view.setBackground(view.getContext().getDrawable(R.drawable.ripple))
它可以工作,但在快速触摸项目时不会显示波纹(我也有该项目的激活/检查状态),它仅在我按住视图时出现。
View 类中的 setBackgroundResource 方法如下所示:
if (resid != 0 && resid == mBackgroundResource) {
return;
}
Drawable d = null;
if (resid != 0) {
d = mContext.getDrawable(resid);
}
setBackground(d);
mBackgroundResource = resid;
所以基本上我正在尝试手动执行的确切操作。
注意:我想使用 setBackground 方法,因为我想以编程方式创建 RippleDrawable。
有人知道为什么会这样吗?
【问题讨论】: