我想创建一个方法来检查两个 ImageButtons 是否使用完全相同的可绘制资源作为 Android Studio 中的背景图像。
我试过类似的东西:
public void isBackgroundImageTheSame() {
if(findViewById(R.id.btn1).getDrawableState() == findViewById(R.id.btn2).getDrawableState()){
//Execute some code
}
但是这没有用。提前致谢!
drawableState 不是你要找的,我想你可以在你拥有的 ImageButtons 上使用一个名为 getBackground.getConstantState 的方法,然后比较它们是否相同:
这是一个代码,也许会对您有所帮助:
public boolean areBackgroundImagesTheSame(ImageButton button1, ImageButton button2) {
Drawable drawable1 = button1.getBackground();
Drawable drawable2 = button2.getBackground();
if (drawable1 == null && drawable2 == null) {
// both ImageButtons have no background image
return true;
} else if (drawable1 == null || drawable2 == null) {
// only one ImageButton has a background image
return false;
} else {
// both ImageButtons have a background image, compare them
return drawable1.getConstantState().equals(drawable2.getConstantState());
}
}