如何将 ImageButton 的图像与可绘制对象进行比较?
How can I compare the Image of an ImageButton to a drawable?
如果我的 ImageButton button
的图像等于可绘制对象,我希望执行特定操作。像这样:
if (button.getBackground().getConstantState()==getResources().getDrawable(R.drawable.mydrawable).getConstantState())
{
//perform action//
}
但是如果我这样做,getDrawable
会出现红色下划线,我不知道为什么?
谁能帮帮我?
getConstantState() 并不总是有效。
您可以比较它们是否与它们相等:
- 宽度 x 高度
- 像素
- 字节
第一个
ImageButton temp = findViewById(R.id.myImagebtn);
Bitmap imageBtm = ((BitmapDrawable)temp.getDrawable()).getBitmap();
Drawable myDrawable = getResources().getDrawable(R.drawable.apple);
Bitmap appleBtm = ((BitmapDrawable) myDrawable).getBitmap();
秒
if(imageBtm.sameAs(appleBtm))
{
Log.i("Bitmap compare", "equal");
}
如果我的 ImageButton button
的图像等于可绘制对象,我希望执行特定操作。像这样:
if (button.getBackground().getConstantState()==getResources().getDrawable(R.drawable.mydrawable).getConstantState())
{
//perform action//
}
但是如果我这样做,getDrawable
会出现红色下划线,我不知道为什么?
谁能帮帮我?
getConstantState() 并不总是有效。
您可以比较它们是否与它们相等:
- 宽度 x 高度
- 像素
- 字节
第一个
ImageButton temp = findViewById(R.id.myImagebtn);
Bitmap imageBtm = ((BitmapDrawable)temp.getDrawable()).getBitmap();
Drawable myDrawable = getResources().getDrawable(R.drawable.apple);
Bitmap appleBtm = ((BitmapDrawable) myDrawable).getBitmap();
秒
if(imageBtm.sameAs(appleBtm))
{
Log.i("Bitmap compare", "equal");
}