2014-02-20 58 views
2

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

<?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”新形象,改变相应
  • 我删除了bin文件夹完全使XML确保它没” T加载一个旧的编译器
  • 重新启动Eclipse的
  • 清洁/建造几次
  • 试图用在绘制其他IMG文件,以确保它是不是代码(同样的结果)
  • 检查每一个文件夹,绘制,以确保它不是位于多个地方并加载它们的一个

    我是新来的Eclipse,这对我来说没有任何意义。

+0

你没有状态对于 android:state_enabled =“true”android:state_pressed =“true” 我建议您再次检查您的状态并删除不必要的状态。并尝试与不同的drawables。 – eluleci

+0

如果您尚未使用9patch,请使用9patch。 – user3182577

+0

你是不是想把'state_pressed'放在你的第二行而不是'state_focused'?这可以解释为什么当你按下它时你没有看到它改变。在启用时按下按钮时没有可分配的绘图。 – Tenfour04

回答

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(假)被拉伸的状态,那么你需要下面的代码

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