如何修改(无效)LayerDrawable子项插入而不重新创建它?

kra*_*mir 5 android android-view android-drawable

我正在研究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);
}
Run Code Online (Sandbox Code Playgroud)

如果不在每次更改中重新绘制背景,我都无法工作.我试着打电话invalidate,invalidateDrawable(bg)上查看,invalidateSelf上绘制对象.什么都行不通.