刚接触安卓,写了一个按钮功能,点击按钮,就会自动切换不同的图片。
很简单的功能,但是我在判断什么时候该切换图片的时候,遇到了问题。因为获取图片实例的ID发现并不好用,可能是我没有找对方法。
于是发现有一个drawable.getConstentState()
方法。
通过这个方法可以获取当前图片的状态,通过对比不同图片之间的状态,可以判断是否是同一个图片。
代码块如下:
if(imageView.getDrawable().getConstenState().equals(getResources().getDrawable(R.drawable.XXX).getConstenState()) ){
//code goes here
}else{
//code goes here
}
这样就完成了图片的切换。
后来又发现有个叫Drawable mutate ()
的方法。与drawable.getConstentState()
不同的是,在修改drawable属性的时候,mutate()不会影响整体,而drawable.getConstentState()
会影响所有用到这个图片的地方。
具体请参考Drawable mutations
等回头我发现新的图片比较方法,再来补充。