完美解决ImageView src/background 动态设置对应关系

完美解决ImageView src/background 动态设置对应关系

目录

所遇问题

有些时候我们如下资源中设置了图标背景

                

但是我们希望在图片按下后,变成两外一张背景图标,我们就需要对控件ImageView进行动态设置背景图片,但是有时候我们调用了ImageView的方法setBackground后,并没有达到我们的预期,而是多出来了一个背景覆盖上去了,那么我们究竟应该调用什么方法呢?

解决思路

查阅Android相关文档,找到相关的两个接口setImageResource和setBackgroundDrawable,经过详细分析查阅,发现资源里设置为src或者background,若要动态修改,要对应的函数进行设置。

解决方法

动态设置ImageView的src:

image.setImageDrawable(getResources().getDrawable(R.drawable.bg));
String path=Environment.getExternalStorageDirectory()+File.separator+”test.jpg”;
Bitmap bm = BitmapFactory.decodeFile(path);
image.setImageBitmap(bm);
image.setImageResource(R.drawable.bg);

动态设置ImageView的background:

image.setBackground(getResources().getDrawable(R.drawable.bg));
image.setBackgroundResource(R.drawable.bg);
image.setBackgroundDrawable(getResources().getDrawable(R.drawable.bg));

你可能感兴趣的:(学习交流,android,android,studio,java,kotlin,视频编解码)