我正在研究View,它在后台动态更改drawable的插入内容。
我的工作解决方案是:
@Override
public void onClick(View v) {
bg = (LayerDrawable) getResources().getDrawable(R.drawable.combined).mutate();
bg.setLayerInset(middlePartIndex,new Random().nextInt()%50,0,30,0);
setBackground(bg);
}
如果不在每次更改中重新绘制背景,我都无法工作。我试图在View上调用invalidate
,invalidateDrawable(bg)
,在Drawable上调用invalidateSelf
。什么都行不通。