现象 根布局设置透明度之后发现内部的子控件透明度也跟着发生了变化,跟预期的效果有些不同,预期的效果应该是无论根布局透明度是多少,子控件始终保持自己的透明度不变。 原因 布局中多个控件同时使用一个资源的时候,这些控件会共用一个状态,例如ColorState,如果你改变了一个控件的状态,其他的控件都会接收到相同的通知。 解决 使用mutate()是根布局不共享状态,比如: root.getBackGround().mutate().setAlpha(175)