Java 在android上替换drawable文件夹中的文件

Java 在android上替换drawable文件夹中的文件,java,android,xml,eclipse,drawable,Java,Android,Xml,Eclipse,Drawable,我正在Eclipse中制作一个应用程序,但在应用程序中更改图像时遇到了一些问题。我有一个.xml文件,它应该在我的应用程序中显示两个按钮。代码是: <?xml version="1.0" encoding="utf-8"?> 现在我想替换其中一张图片,因为它的比例不对。因此,我用右比例的新图像替换了按下的背景按钮。但当我在模拟器和手机上运行应用程序时,它仍然显示了旧版本。为什么? 我尝试了以下方法: 清理项目 制作了一个名为“ba

我正在Eclipse中制作一个应用程序,但在应用程序中更改图像时遇到了一些问题。我有一个.xml文件,它应该在我的应用程序中显示两个按钮。代码是:

<?xml version="1.0" encoding="utf-8"?>


现在我想替换其中一张图片,因为它的比例不对。因此,我用右比例的新图像替换了按下的
背景按钮。但当我在模拟器和手机上运行应用程序时,它仍然显示了旧版本。为什么?

我尝试了以下方法:

  • 清理项目

  • 制作了一个名为“background_button_pressed2”的新图像,并相应地更改了xml

  • 我已经完全删除了bin文件夹,以确保它没有加载旧的编译器

  • 重新启动的Eclipse

  • 清洗/建造几次

  • 尝试使用drawable中的另一个img文件,以确保它不是代码(结果相同)

  • 检查每个可绘制文件夹,确保它没有位于多个位置,并加载其中一个

    我是Eclipse的新手,这对我来说毫无意义

尝试以下代码

<item android:drawable="@drawable/background_button_pressed" android:state_selected="true"/>
<item android:drawable="@drawable/background_button_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/background_button_normal"/>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false" android:drawable="@drawable/background_button_disabled"/>
    <item android:state_pressed="false"
      android:drawable="@drawable/background_button_normal" /> <!-- pressed -->
    <item android:state_pressed="true"
      android:drawable="@drawable/background_button_pressed" /> <!-- focused -->
    <item android:state_enabled="true" android:drawable="@drawable/background_button_normal"/>

如果要更改setEnable(false)的可绘制状态,则需要以下代码

<item android:drawable="@drawable/background_button_pressed" android:state_selected="true"/>
<item android:drawable="@drawable/background_button_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/background_button_normal"/>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false" android:drawable="@drawable/background_button_disabled"/>
    <item android:state_pressed="false"
      android:drawable="@drawable/background_button_normal" /> <!-- pressed -->
    <item android:state_pressed="true"
      android:drawable="@drawable/background_button_pressed" /> <!-- focused -->
    <item android:state_enabled="true" android:drawable="@drawable/background_button_normal"/>


您没有android:state\u enabled=“true”的状态android:state\u pressed=“true”我建议您再次检查您的状态并删除不必要的状态。还可以尝试使用不同的绘图工具。如果您还没有使用9patch,请使用9patch。您是想在第二行中按
状态而不是
状态
?这就解释了为什么当你按下它时,你看不到它的变化。当您在按钮处于启用状态时按下该按钮时,没有为其指定可绘图。