Android中比较两个图片是否一致的问题
程序员文章站
2022-03-31 08:22:24
在fragment界面中,设置两个图片一致如下:默认设置图片为:binding.ivarrow.setimageresource(r.drawable.icon_down);先获取默认图片,再和其它两...
在fragment界面中,设置两个图片一致如下:
默认设置图片为:
binding.ivarrow.setimageresource(r.drawable.icon_down);
先获取默认图片,再和其它两张图片做对比,然后处理业务逻辑:
drawable.constantstate ivarrow = binding.ivarrow.getdrawable().getcurrent().getconstantstate(); drawable.constantstate icon_up = getdrawable(r.drawable.icon_up).getconstantstate(); drawable.constantstate icon_down = getdrawable(r.drawable.icon_down).getconstantstate(); log.e("--->ivarrow$", "$" + ivarrow); log.e("--->icon_up$", "$" + icon_up); log.e("--->icon_down", "$" + icon_down); if (ivarrow.equals(icon_up)) { binding.ivarrow.setimageresource(r.drawable.icon_down); } else if (ivarrow.equals(icon_down)) { binding.ivarrow.setimageresource(r.drawable.icon_up); }
打印结果如下:
显然通过日志发现,每个图片的资源都不一致,这是为什么,通过点击getdrawable查看源码发现
这个不是我们想要的,我们要的是id,怎么解决呢,因为是在fragment中,所以要加上 getactivity()
设置完后,看下效果
完整代码如下:
drawable.constantstate ivarrow = binding.ivarrow.getdrawable().getcurrent().getconstantstate(); drawable.constantstate icon_up = getactivity().getdrawable(r.drawable.icon_up).getconstantstate(); drawable.constantstate icon_down = getactivity().getdrawable(r.drawable.icon_down).getconstantstate(); log.e("--->ivarrow$", "$" + ivarrow); log.e("--->icon_up$", "$" + icon_up); log.e("--->icon_down", "$" + icon_down); if (ivarrow.equals(icon_up)) { binding.ivarrow.setimageresource(r.drawable.icon_down); } else if (ivarrow.equals(icon_down)) { binding.ivarrow.setimageresource(r.drawable.icon_up); }
到此这篇关于android中比较两个图片是否一致的文章就介绍到这了,更多相关android 比较两个图片是否一致内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
推荐阅读
-
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
-
Android中比较两个图片是否一致的问题
-
比较两个数组中是否有相同的值
-
Java比较两个对象中全部属性值是否相等的方法
-
JS中对日期进行增加以及比较两个日期的Android和iOS都兼容(代码实例)
-
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
-
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法_PHP
-
Android Studio 界面布局之xml文件中给输入框editText修改下划线颜色 / 为按钮设置圆角和颜色 / 约束布局预览效果和运行效果不一致 问题的解决
-
Android中 TabLayout的TabItem文字和图片莫名不显示问题处理
-
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法,phpstrncmp