我需要能够告诉我在ImageView中使用的背景:
<ImageView
android:id="@+id/icon"
android:layout_width="24dp"
android:layout_height="24dp"
android:background="@drawable/ic_globe"
/>
如何以编程方式检查上述ImageView的背景是ic_globe
?
答案 0 :(得分:0)
Bitmap b1 = ((BitmapDrawable) ((ImageView)findViewById(R.id.icon)).getBackground()).getBitmap();
Bitmap b2 = ((BitmapDrawable)getResources().getDrawable(R.drawable.ic_globe)).getBitmap();
if (b1 == b2){
Toast.makeText(MainActivity.this, "Matched", Toast.LENGTH_LONG).show();
}else{
Toast.makeText(MainActivity.this, "NOT Matched", Toast.LENGTH_LONG).show();
}
Ya你需要为b1和b2处理空值,好像图像无法解码然后你将b1或b2作为null,你可以实现自己。