2014-04-07 57 views
1

我有一个ListView和一个按钮。该按钮应该始终是可点击的,但当ListView为空时启用(实际背景)时,按钮背景图像应该被禁用(变灰),而当ListView包含项目时。Android - 启用按钮点击禁用状态(android:enabled =“false”)

我知道这可以通过始终将启用的状态设置为true并更改背景图像从代码实现。但我正在寻找使用选择器在XML中实现这一点。

回答

0

看看下面的代码:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" android:constantSize="true" android:dither="true"> 
    <item android:drawable="@drawable/button_enabled" android:state_enabled="true" /> 
    <item android:drawable="@drawable/button_disabled" android:state_enabled="false" /> 
</selector> 

使用此代码在您的drawables文件夹(如XML资源)。 之后,您使用此drawable并将其设置为您的按钮的背景属性。 (android:background="@drawable/your_selector_file"当然没有.xml扩展名) 如果您需要更多信息,请参考以下链接:http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList