本文介绍了Android将imageView与图像进行比较的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想将当前的imageView与R.drawable中的图像进行比较。我想我尝试了一切,但我无法解决这个问题。我尝试了所有形式的堆栈溢出。
I want to compare current imageView with image from R.drawable. I guess I tried everything but I can't solve this one. I tried everything form stack overflow.
XML:
<ImageView
android:layout_width="match_parent"
android:src="@drawable/red"
android:id="@+id/imageview1"
android:clickable="true"
android:layout_height="match_parent" />
Android:
final ImageView test = (ImageView) findViewById(R.id.imageview1);
test.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//if(test.getResources().equals(R.drawable.red))
//if(test.getDrawable().equals(R.drawable.red))
if(test.getDrawable().getConstantState().equals(getResources().getDrawable(R.drawable.red).getConstantState()))
{
Toast.makeText(getApplicationContext(), "work", Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(getApplicationContext(), "not work", Toast.LENGTH_SHORT).show();
}
}
});
推荐答案
谢谢Morrison,就是这样。
Thanks Morrison, that was it.
首先
final ImageView test = (ImageView) findViewById(R.id.imageview1);
final Bitmap bmap = ((BitmapDrawable)test.getDrawable()).getBitmap();
Drawable myDrawable = getResources().getDrawable(R.drawable.red);
final Bitmap myLogo = ((BitmapDrawable) myDrawable).getBitmap();
下一步
if(bmap.sameAs(myLogo))
{
do sthng
}
这篇关于Android将imageView与图像进行比较的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!