选择器:&#34; <item>标签需要一个&#39; drawable&#39;属性&#34;

时间:2015-06-05 10:04:37

标签: java android xml eclipse

我有以下按钮:

<Button
            android:id="@+id/searchCompaniesButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"          
            android:drawableLeft="@drawable/company_icon"
            android:drawablePadding="10dp"
            android:drawableRight="@drawable/next_icon_big"
            android:gravity="left|center_vertical"
            android:paddingLeft="10dp"
            android:backgroud="@drawable/transparent_button_selector"
            android:paddingRight="10dp"
            android:text="@string/searchCompanies" />

transparent_button_selector在/ drawable-ldpi文件夹中为transparent_button_selector.xml

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/lightGrey"
          android:state_pressed="true" />
    <item android:drawable="@color/veryLightGrey"
          android:state_focused="true" />
    <item android:drawable="@null" />
</selector>

我还有colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
 <color name="lightGrey">#3d3d3d</color>
  <color name="veryLightGrey">#4d4d4d</color>
</resources>

但是当我运行我的应用程序时,日志会说:

  

&#39;项目&#39;标签需要一个可绘制的&#39;属性&#34;

到底是什么?我知道几乎没有类似的问题,但答案没有帮助。我试过了:

  • 重启Eclipse
  • 清洁项目
  • 在真实设备上运行应用程序(粉碎)

3 个答案:

答案 0 :(得分:7)

替换它:

 <item android:drawable="@null" />

使用:

<item android:drawable="@color/transparent" />

并在颜色文件中添加透明色,代码为:#00000000

答案 1 :(得分:0)

drawable属性总是需要@ drawable.i.e 你必须替换

<item android:drawable="@color/..."
      android:state_pressed="true" />

<item android:drawable="@drawable/..."
      android:state_pressed="true" />

使用此,

<item
    android:state_pressed="true"
    android:drawable="@drawable/selected_state" />

然后在名为&#34; selected_state&#34;的可绘制文件夹中创建一个形状。像这样。

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
       android:shape="rectangle">
       <solid android:color="@color/lightGrey" />
</shape>

答案 2 :(得分:0)

您的android:background属性拼写错误:

机器人:化背景= “@绘制/ transparent_button_selector”

'backgrou n d'

中缺少字母'n'