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

时间:2014-02-20 12:29:37

标签: java android xml eclipse drawable

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

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

<item android:drawable="@drawable/background_button_pressed" android:state_enabled="false" android:state_pressed="true"/>
<item android:drawable="@drawable/background_button_pressed" android:state_enabled="true" android:state_focused="true"/>
<item android:drawable="@drawable/background_button_normal" android:state_enabled="true"/>

现在我想替换其中一个图像,因为它的刻度错误。所以我用正确比例的新图像替换了background_button_pressed。但是当我在模拟器和手机上运行应用程序时,它仍然显示旧的。为什么呢?

我尝试了以下内容:

  • 清理项目
  • 创建了一个名为“background_button_pressed2”的新图像并相应地更改了xml
  • 我完全删除了bin文件夹以确保它没有加载旧的编译器
  • 重启Eclipse
  • 清理/建造几次
  • 尝试使用drawable中的另一个img文件,以确保它不是代码(相同的结果)
  • 检查每个可绘制文件夹,确保它没有位于多个位置并加载其中一个

    我是Eclipse新手,这对我没有任何意义。

1 个答案:

答案 0 :(得分:0)

尝试以下代码

<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"/>

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

<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"/>