Android的setBackgroundResource无作用

Android的setBackgroundResource无作用,不显示一个按钮一个图片,怎么办

img

引用 皆我百晓生 小程序回复内容作答:
如果在Android中使用setBackgroundResource方法设置按钮的背景图片,但图片不显示在按钮上,可能是由于以下几个原因:

  1. 确保图片资源存在:确保所设置的图片资源存在并且在正确的目录中,可以尝试使用setImageResource方法来设置图片是否能够显示。
  2. 确保按钮已经创建:确保按钮已经在布局文件中被正确创建,并且已经通过findViewById方法获取到了按钮的实例。
  3. 检查图片资源的大小:检查图片资源的大小是否超出了按钮的大小限制。如果图片资源的大小超出了按钮的大小,可能会导致图片无法完全显示在按钮上。可以尝试缩小图片的尺寸或者调整按钮的大小来解决该问题。
  4. 检查按钮的背景颜色:如果按钮的背景颜色与图片的颜色相同,可能导致图片无法显示。可以尝试设置按钮的背景颜色为透明色。

如果以上方法无法解决问题,可以尝试使用其他方法来设置按钮的背景图片,例如通过XML布局文件中的android:background属性或者使用setImageDrawable方法来设置图片。此外,还可以尝试重启项目或者清除缓存重新构建项目来解决可能存在的缓存问题。

直接用setBackground

用setBackground,会显示用的drawable能提供错的int

使用setBackgroundResource()方法设置按钮的背景图片,但是没有显示,可以尝试以下几种解决方法:

检查图片资源文件:确保你使用的图片资源文件位于正确的目录下(例如res/drawable目录),并且文件名和引用方式正确。
检查图片尺寸:如果图片尺寸过大或过小,可能会导致无法显示。你可以尝试使用不同尺寸的图片进行测试,以确定是否存在尺寸问题。
设置按钮的高度和宽度:如果按钮的高度和宽度设置为0或者非常小的值,那么背景图片可能无法显示。你可以尝试设置按钮的高度和宽度为具体的像素值或wrap_content。
禁用按钮的点击事件:如果按钮的点击事件被禁用,那么背景图片可能无法显示。你可以尝试启用按钮的点击事件,以查看是否可以解决问题。
检查代码中的错误:确保你在代码中正确使用了setBackgroundResource()方法,并且没有其他的错误导致背景图片无法显示。
代码演示如何使用setBackgroundResource()方法设置按钮的背景图片:


Button button = findViewById(R.id.my_button);  
button.setBackgroundResource(R.drawable.my_image);  
button.setHeight(100); // 设置按钮的高度  
button.setWidth(100); // 设置按钮的宽度

这样:setBackground(AppCompatResources.getDrawable(context,R.drawable.kitty1));

【相关推荐】




如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^