我正在创建一个带有自定义 View 的微调器,无论如何我设法在微调器处于非 Activity 状态时以及在它被按下时显示不同的可绘制对象,我想在下拉列表显示时保持按下状态可绘制。这是 mi XML 文件:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true"
android:state_pressed="false"
android:drawable="@drawable/ComboBoxInactive" />
<item android:state_focused="true"
android:state_pressed="true"
android:drawable="@drawable/ComboBoxActive" />
<item android:state_focused="false"
android:state_pressed="true"
android:drawable="@drawable/ComboBoxActive" />
<item android:drawable="@drawable/ComboBoxInactive" />
</selector>
当它显示下拉列表时,我应该添加什么状态?我希望它显示 ComboBoxActive 可绘制对象。我已经尝试添加这个:
<item android:state_enabled ="false"
android:drawable="@drawable/ComboBoxActive"/>
知道状态是什么吗?
最佳答案
没有 android:state_dropdown_showing 状态。 微调器下拉列表中唯一的一个状态是 state_enabled="true"
您可以使用我的选择器来区分下拉列表状态
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- disabled state -->
<item android:state_enabled="false" android:drawable="@drawable/spinner_off"/>
<!-- pressed state -->
<item android:state_enabled="true" android:state_window_focused="true" android:state_pressed="true" android:drawable="@drawable/spinner_pressed"/>
<!-- unselected state -->
<item android:state_enabled="true" android:state_window_focused="true" android:drawable="@drawable/spinner_default"/>
<!-- dropdown list state -->
<item android:state_enabled="true" android:state_focused="true" android:drawable="@drawable/spinner_dropdown_list_is_shown"/>
<!-- default -->
<item android:drawable="@drawable/spinner_default"/>
</selector>
不要忘记在微调器上设置 setFocusable 和 setFocusableInTouchMode 属性。
关于android - 显示下拉列表时微调器的状态是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12378545/