我有以下按钮:
<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;
到底是什么?我知道几乎没有类似的问题,但答案没有帮助。我试过了:
答案 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'