我有一个列表,其中列表项内部有2个可点击图标。问题是在Android 2.3到Android 4.0.3上,当我按下列表项时,不仅行突出显示,而且图标突出显示,但在Android> 4.1情况并非如此,此处它的工作原理应该只有行突出显示。
我的列表选择器:
<selector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto">
<item android:state_window_focused="false" android:state_activated="false" android:drawable="@android:color/transparent" />
<item android:state_focused="true" android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/list_selector_disabled_holo_light" />
<item android:state_focused="true" android:state_enabled="false" android:drawable="@drawable/list_selector_disabled_holo_light" />
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/dna_list_selector_background_transition_holo_light" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/dna_list_selector_background_transition_holo_light" />
<item android:state_focused="true" android:drawable="@drawable/list_focused_holo" />
<item android:state_activated="true" android:drawable="@drawable/list_longpressed_holo" />
这是图标的选择器:
<selector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto">
<item android:state_window_focused="false" android:state_activated="false" android:drawable="@android:color/transparent" />
<item android:state_focused="true" android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/list_selector_disabled_holo_light" />
<item android:state_focused="true" android:state_enabled="false" android:drawable="@drawable/list_selector_disabled_holo_light" />
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/dna_list_selector_background_transition_holo_light" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/dna_list_selector_background_transition_holo_light" />
<item android:state_focused="true" android:drawable="@drawable/list_focused_holo" />
我已经搜索了很多并试图找出问题,但我没有得到它。 Android 4.1上的beheviour是否已更改?
答案 0 :(得分:0)
问题是,直到独占的android 4.1,按下的状态也被赋予根列表视图的子项,并看到我定义了以下内容:
<item android:state_focused="false"
android:state_pressed="true"
android:drawable="@drawable/dna_list_selector_background_transition_holo_light" />
列表项中的图标是直到android 4.1按下但没有聚焦。我不知道这是一个bug还是这样设计的,但它并没有让我觉得孩子们也得到了压迫状态。 从Android 4.1开始,列表项中的图标不再处于按下状态。
解决方法是将上面的选择器更改为:
<item android:state_focused="false"
android:state_pressed="true"
android:drawable="@android:color/transparent" />