检查ImageView中使用的背景

时间:2015-10-22 04:29:35

标签: android android-layout android-xml

我需要能够告诉我在ImageView中使用的背景:

<ImageView
    android:id="@+id/icon"
    android:layout_width="24dp"
    android:layout_height="24dp"
    android:background="@drawable/ic_globe"
    />

如何以编程方式检查上述ImageView的背景是ic_globe

1 个答案:

答案 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,你可以实现自己。