LinearLayout设置Selector,不用在设置其它属性就可以点击了。
<LinearLayout
android:background="@drawable/selector">
而RelativeLayout则不行,需要这样才行:
<RelativeLayout
android:clickable="true"
android:background="@drawable/selector">
为什么会这样呢?
原来是我在Java代码监听了LinearLayout的点击事件,LinearLayout.setOnClickListener(),查看setOnClickListener()的源码:
public void setOnClickListener(OnClickListener l) {
if (!isClickable()) {
setClickable(true);
}
getListenerInfo().mOnClickListener = l;
}
可以知道,如果该控件没有点击,则会设置点击setClickable(true)也就等同于Xml的android:clickable="true"。