我使用selector
来更改LinearLayout
的背景。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@color/holo_blue" ></item>
<item android:drawable="@color/transparent"></item>
</selector>
但每当我点击屏幕上的任何地方时,我的LinearLayout的背景会发生变化。知道为什么会出现这种意想不到的行为吗?
答案 0 :(得分:0)
这种情况正在发生,因为您的孩子视图没有消耗任何触摸事件,但是LinearLayout
通过使用具有按下状态的背景表达了对触摸事件的兴趣(这是我基于经验的直觉;我不是确定这是否在Android文档中明确说明)。解决此问题的一种方法是使用xml属性TextView
使clickable="true"
可点击,而不在代码中指定任何点击行为,但如果你有一个很大的话,这显然不会很好地扩展子视图的数量。希望这提供了一个很好的起点。