Android的setBackgroundResource无作用,不显示一个按钮一个图片,怎么办
引用 皆我百晓生 小程序回复内容作答:
如果在Android中使用setBackgroundResource
方法设置按钮的背景图片,但图片不显示在按钮上,可能是由于以下几个原因:
setImageResource
方法来设置图片是否能够显示。findViewById
方法获取到了按钮的实例。如果以上方法无法解决问题,可以尝试使用其他方法来设置按钮的背景图片,例如通过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));
【相关推荐】
如果在布局里已经设置了图片,在Java代码里修改就不会生效,所以我们直接在Java代码里动态修改,以后需要逻辑变更时,
再继续在Java代码里修改就不会再有这种问题了!