我有以下按钮:
<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>
但是当我运行我的应用程序时,log会说:
'item'标记需要'drawable'属性”
搞什么鬼?我知道类似的问题很少,但答案是没有帮助的。我试过:
- 重新启动Eclipse
- 清洁工程
- 在真实的设备上运行应用程序(crush)
4条答案
按热度按时间bxjv4tth1#
替换如下:
其中:
并使用代码在颜色文件中添加透明颜色:#00000000
whlutmcx2#
drawable属性总是带@drawable.即你必须替换
与
用这个
然后在可绘制文件夹中创建一个形状,名称为“selected_state”,如下所示。
but5z9lq3#
您的
android:background
属性拼写错误:Android:backgroud="@drawable/transparent_button_selector”
'background'中缺少字母'n'
pkbketx94#
如果使用
selector
来显示列表中的哪些项目是当前选中的,那么最佳答案就是:然后,如果视图为
isActivated
状态,则选择的项目将由isActivated
状态确定。为什么透明的背景比更直接的“无背景”声明更好?