Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将背景设置为Imageview_Java_Android_Xml_Layout_Imageview - Fatal编程技术网

Java 将背景设置为Imageview

Java 将背景设置为Imageview,java,android,xml,layout,imageview,Java,Android,Xml,Layout,Imageview,我正在创建一个动态图像视图 ImageView btnSend = new ImageView (this); 我需要放置一个包含图像状态的布局,这是xml: <? xml version = "1.0" encoding = "utf-8"?> <selector xmlns: android = "http://schemas.android.com/apk/res/android"> <item android:

我正在创建一个动态图像视图

ImageView btnSend = new ImageView (this);
我需要放置一个包含图像状态的布局,这是xml:

<? xml version = "1.0" encoding = "utf-8"?>
<selector
      xmlns: android = "http://schemas.android.com/apk/res/android">
      <item
           android: state_focused = "true"
           android: state_pressed = "false"
           android: drawable = "@ drawable/button_state3" />
      <item
           android: state_focused = "true"
           android: state_pressed = "true"
           android: drawable = "@ drawable/button_state2" />
      <item
           android: state_focused = "false"
           android: state_pressed = "true"
           android: drawable = "@ drawable/button_state2" />
      <item
           android: drawable = "@ drawable/button_state1" />
</ selector>

我使用setBackgroundResource属性进行了测试,但不起作用

如何将此布局分配给Imageview


提前感谢。

您在此XML中创建的内容(顺便说一句,删除@之后的空格)不是您提到的布局。
因此,请使用设置它。

这是有效的代码

ImageView btnEliminar = new ImageView (this);

StateListDrawable drawable = new StateListDrawable();

Drawable normal = getResources().getDrawable(R.drawable.image_normal);
Drawable selected = getResources().getDrawable(R.drawable.image_selected);
Drawable pressed = getResources().getDrawable(R.drawable.image_pressed);

drawable.addState(new int[] { android.R.attr.state_pressed}, pressed);
drawable.addState(new int[] { android.R.attr.state_focused}, selected);
drawable.addState(new int[] { android.R.attr.state_enabled}, normal);

btnEliminar.setImageDrawable(drawable);

并确保它在您的drawable文件夹中,而不是布局文件夹中。StateListDrawable解决了我的问题,谢谢米兰!!我在下面的帖子中为有相同问题的用户留下了代码