【问题标题】:Selector: "<item> tag requires a 'drawable' attribute"选择器:“<item> 标签需要 'drawable' 属性”
【发布时间】:2015-06-05 10:04:37
【问题描述】:

我有以下按钮:

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

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

“item”标签需要一个“drawable”属性”

什么鬼?我知道类似的问题很少,但答案没有帮助。我试过了:

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

【问题讨论】:

  • 尝试使用透明色代替null。
  • 你为什么不直接删除那个空项目?

标签: java android xml eclipse


【解决方案1】:

替换这个:

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

与:

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

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

【讨论】:

  • 只是为了正确:
【解决方案2】:

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

然后在drawable文件夹中创建一个名为“selected_state”的形状。

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

【讨论】:

    【解决方案3】:

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

    android:backgroud="@drawable/transparent_button_selector"

    'background'中缺少字母'n'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-06
      • 2011-10-21
      • 2020-09-17
      • 2015-09-24
      • 2015-12-02
      • 1970-01-01
      • 2017-01-19
      相关资源
      最近更新 更多