Android 判断点击的是否为同一张图片
2018-03-25 21:35
746 查看
Drawable
Drawable就是一个可绘制的对象,或者叫做可渲染的对象,里面保存的是可以绘制的数据,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还可能只是一个颜色(ColorDrawable)等等,等等。1.Android 中 Drawable 类对象主要的功能就是可以给 canvas 上面绘制图形,也可以理解为渲染 canvas。这个功能是通过 Drawable 类对象的 public void draw(Canvas canvas)方法来实现的。2.Drawable 类对象还可以设置给 View 类对象作为 View 类对象的背景等,如果 Drawable 类对象的属性修改了,Drawable 类对象可以通知关联的 View 类对象重新绘制 View 类对象,这功能是通过 Drawable 类对象的 public void invalidateSelf() 方法来实现的。invalidateSelf 方法会调用关联的 Drawable.Callback 类对象(一般是 View 类对象)的 invalidateDrawable 方法。ConstantState
每个 Drawable 类对象类都关联有一个 ConstantState 类对象,这是为了保存 Drawable 类对象的一些恒定不变的数据,如果从同一个 res 中创建的 Drawable 类对象,为了节约内存,它们会共享同一个 ConstantState 类对象。比如一个 ColorDrawable 类对象,它会关联一个 ColorState 类对象,color 的颜色值是保存在 ColorState 类对象中的。如果修改 ColorDrawable 的颜色值,会修改到 ColorState 的值,会导致和 ColorState 关联的所有的 ColorDrawable 的颜色都改变。在修改 ColorDrawable 的属性的时候,需要先调用 public Drawable mutate() 方法,让 Drawable 复制一个新的 ConstantState 对象关联。可以通过判断ConstantState来判断点击的是否是同一个drawable ,代码如下:public void find(View v){
ImageView img=(ImageView)v;
if(img.getDrawable().getConstantState().equals(getResources().getDrawable(R.drawable.pic_a).getConstantState())){
Toast.makeText(getApplicationContext(), "同一个drawable图片", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getApplicationContext(), "不对", Toast.LENGTH_SHORT).show();
}
}
以上代码转自:https://blog.csdn.net/zxd1988/article/details/51693391
相关文章推荐
- 如何判断点击的图片是否为一张图片android
- Android开发经验之点击图片判断是否在图片范围之内
- Android开发经验之点击图片判断是否在图片范围之内
- Android开发经验之点击图片判断是否在图片范围之内
- Atitit 判断判断一张图片是否包含另一张小图片
- android仿IOS按钮点击效果,一张图片实现
- Android让ImageView点击后换成另外一张图片
- Unity中判断一个点或一张图片是否在另一张图片区域内
- android图片按钮点击变灰变量效果实现(一张背景图实现效果)
- android 从相册中选择图片并判断图片是否旋转
- 读取指定文件夹里面的所有图片取出里面其中一张图片和判断文件夹或文件是否存在
- Android 悬浮球的实现(如何判断是否点击在某View上)(如何自由拖动View)
- [Android View] 判断是否点中一个动态可旋转、可缩放、可移动的图片
- 使用Glide实现在非WiFi环境手动点击下载图片(判断Glide是否缓存了图片)
- 使用Glide实现在非WiFi环境手动点击下载图片(判断Glide是否缓存了图片)
- android判断文件是否是图片文件的方法
- Atitit.java图片图像处理attilax总结 BufferedImage extends java.awt.Image获取图像像素点image.getRGB(i, lineIndex); 图片剪辑/AtiPlatf_cms/src/com/attilax/img/imgx.javacutImage图片处理titit 判断判断一张图片是否包含另一张小图片 atitit 图片去噪算法的原理与
- iOS开发有用代码(有判断邮箱格式是否正确的代码、图片压缩、亲测可用的图片上传代码和实现点击图片进行跳转的代码等。)
- 判断UIImage图片是否是同一张图片
- c# 是判断两个图片是否为一张图片