Android 形状是否可绘制为视图之间的共享对象
我使用可从xml绘制的形状作为布局xml中2个图像视图的src 在第二个imageview中,我通过代码将可绘制的颜色从绿色更新为红色 我注意到第一个图像视图的drawable变为红色Android 形状是否可绘制为视图之间的共享对象,android,Android,我使用可从xml绘制的形状作为布局xml中2个图像视图的src 在第二个imageview中,我通过代码将可绘制的颜色从绿色更新为红色 我注意到第一个图像视图的drawable变为红色 我认为每个imageview都有自己的drawable版本。这是一个共享对象吗?在这种情况下,我必须创建两个不同的可绘制XML吗?这并不明显,但确实如此,可绘制XML的状态在不同的实例和不同的ImageView之间共享。不久前,我个人也遇到过同样的不愉快行为 可以在这里找到证据: 注意:无论您为项目实例化了多少
我认为每个imageview都有自己的drawable版本。这是一个共享对象吗?在这种情况下,我必须创建两个不同的可绘制XML吗?这并不明显,但确实如此,可绘制XML的状态在不同的实例和不同的ImageView之间共享。不久前,我个人也遇到过同样的不愉快行为 可以在这里找到证据: 注意:无论您为项目实例化了多少不同的对象,项目中的每个唯一资源都只能维护一种状态。例如,如果从同一图像资源实例化两个可绘制对象,并更改一个对象的属性(如alpha),则它也会影响另一个对象。在处理图像资源的多个实例时,不应直接变换可绘制对象,而应执行tween动画 但幸运的是,Android SDK中内置了一个解决方案。 如果您已经在更改可绘制代码的状态,那么解决方案将派上用场。要更改一个且只有一个可绘制的状态,可以使用方法
资料来源:Awesome。。非常感谢。