Android 使用选择器设置视图背景

Android 使用选择器设置视图背景,android,selector,Android,Selector,在我的应用程序中,我有一个ImageView,它是通过编程方式添加到其父级的onLayout方法中的。我希望它有不同的背景时,它是重点不同时,按下和正常状态时不同。我在values文件夹中定义了一些颜色: <?xml version="1.0" encoding="utf-8"?> <resources> <color name="cream">#FBF9F5</color> <color name="green">#93D

在我的应用程序中,我有一个ImageView,它是通过编程方式添加到其父级的onLayout方法中的。我希望它有不同的背景时,它是重点不同时,按下和正常状态时不同。我在values文件夹中定义了一些颜色:

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <color name="cream">#FBF9F5</color>
   <color name="green">#93D932</color>
   <color name="blue">#0095FF</color>
</resources>
这时IntelliJ向我展示了这个问题:

"Cannot resolve method 'setBackground(android.graphics.drawable.Drawable)'"
我不明白为什么,因为视图类有方法 立根背景(可拉深背景)

以下是使用setImageResource设置的.png文件:

它的中心是透明的,现在它显示任何背景设置为应用程序,但我希望它显示不同的颜色时,按下或集中


我将非常感谢您提供的任何帮助

检查您是否错误地导入了android
R
文件,而不是本地文件,看起来确实如此

更新:

要设置
ImageView
background,请执行以下操作:

image.setImageResource(R.drawable.your_drawable_resource);

首先清理并创建您的项目,然后仍然会出现相同的错误

请在导入区检查是否包含此声明

导入android.R


如果是,则您需要将包名与include R一起使用,如my.package.R.

但我想将.png与一些透明部分一起设置为资源,然后使用setbackground更改此部分的颜色选择器负责根据按钮状态更改按钮颜色。所以你需要做的就是用我给你展示的方法应用背景。我试过了,但在那之后,我的ImageView只显示背景颜色,而不显示带有透明元素的.png,我之前用setImageResource设置过,在背景之上,你能展示一下你想要实现的目标的屏幕截图吗?遗憾的是,我认为你不能将背景图像和源图像(事实上我认为背景属性不适用于ImageView)应用到ImageView,所以你必须走另一条路,将图像放置在FrameLayout中,并使用它放置线性布局将该背景应用于布局而不是图像。
"Cannot resolve method 'setBackground(android.graphics.drawable.Drawable)'"
image.setImageResource(R.drawable.your_drawable_resource);